8051: Zużycie pamięci flash

Jul 28, 2004 1 Replies

Projektuję bardzo proste urządzonko z mini-procesorkiem 8051 i zastanawiam się właśnie nad różnymi uproszczeniami aby zminimalizować zużycie pamięci po stronie 8051... Używam kompilatorów/linkerów Keil i czytając mapfile widzę dosyć duży symbol (zajmuje 5bbH, prawie 1500 bajtów) o nazwie ?C?LIB_CODE. Co to jest? Wygląda to na bibliotekę, ale w kodzie włączam tylko jeden header <math.h> aby mieć prototypy funkcji log() i pow() i widzę te dwie funkcje w mapfile w innych miejscach... Wiedzę też tam startup code osobno, więc ten C?LIB_CODE to nie jest startup sprzed main().



Co to jest C?LIB_CODE i dlaczego to jest takie duże ?



p.s. czy funkcja log() w bibliotece keila jest optymalnie napisana? czy ktoś może ma dostęp do mniejszego kodu log()?


On Wed, 28 Jul 2004 11:17:20 -0500, "Pszemol" snipped-for-privacy@PolBox.com wrote: [.....]

Nie wiem, ale strzelam że są tam zaszyte implementacje np. mnożenia zmiennoprzecinkowego, stałoprzecinkowego dla argumentów "szerszych" niż 8 bitów, itp. Jeśli CPU nie potrafi zrobić takich rzeczy sprzętowo, to kompilator musi zapewnić jakiś kod który to zrobi robi.

Regards, /J.D.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required