laserovy dalkomer
Miroslav Mraz
mrazik na volny.cz
Pátek Leden 17 22:13:13 CET 2025
IAR neznám, ale vím, že jde při troše úsilí vytvořit kód, který i s
optimalizací přeloží g++ násobně větší (jak RAM tak flash) než clang.
Stačí použít lookup tabulku nějaké složitější analytické funkce, kterou
předpočítám konstantním výrazem. Zatímco clang to spočte při překladu a
výsledek uloží do flash, tohle g++ neumí, počítá to za běhu, při startu
a ukládá do RAM, takže fakticky jen přidává spoustu balastu. V čistém C
to může být podobné, ale moc si neumím představit jak.
Mrazík
On 17. 01. 25 17:25, Vojtěch Petrucha wrote:
> zdravim,
> ...
> akorát to vyžere skoro celou RAM i FLASH (87.3% z 32kB a 96.5% z 4kB RAM)
>
> teď koukám, že i když mám optimalizaci O3 nebo Os, debug none, tak je
> mnou zkompilovaný kód výrazně delší, než binárky vystavene autorem na
> githubu, vytvořené v IAR 7.50 (28kB místo 16kB), což nepotěší. na fóru
> jsem našel info, že je to normální, i když někdo z ST tam psal, že by
> odchylka měla být výrazně menší...?
>
>
Další informace o konferenci Hw-list