8051: Zużycie pamięci flash

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()?

Reply to
Pszemol
Loading thread data ...

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.

Reply to
Jan Dubiec

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.