pawel
Guest
Thu Sep 11, 2008 9:57 am
Witam.
Używałem dotychczas WinAVR-20071221 i z ciekawości zainstalowałem najnowszy
WinAVR-20080610. Po przebudowaniu projektu okazało się że jest za mało
pamięci
programu. Przedtem było 96,1%, a teraz 103,5%. Czy w tej nowej wersji są
jakieś
dodatkowe opcje? Do projektu używam AVRStudio 4.12 SP2 Build 472.
Dzięki za pomoc
Paweł
Adam Dybkowski
Guest
Thu Sep 11, 2008 8:23 pm
pawel pisze:
Quote:
Używałem dotychczas WinAVR-20071221 i z ciekawości zainstalowałem najnowszy
WinAVR-20080610. Po przebudowaniu projektu okazało się że jest za mało
pamięci
programu. Przedtem było 96,1%, a teraz 103,5%.
Po wprowadzeniu obsługi nowych procesorów (o pamięci kodu powyżej 128KB)
zmieniła się mapa pamięci i nieco biblioteki standardowe. Dotyczy to
także niestety jakby z rozpędu dawniej obsługiwanych procesorów.
Porównaj sobie chociaż pliki .x (mapa pamięci dla linkera) w tych 2
wersjach kompilatora. Oraz pliki .map z kompilacji twojego programu
starszym i nowszym kompilatorem - zobaczysz, jaki kod najbardziej spuchł.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
AK
Guest
Thu Sep 11, 2008 10:10 pm
Adam Dybkowski pisze:
Quote:
pawel pisze:
Po wprowadzeniu obsługi nowych procesorów (o pamięci kodu powyżej 128KB)
zmieniła się mapa pamięci i nieco biblioteki standardowe. Dotyczy to
także niestety jakby z rozpędu dawniej obsługiwanych procesorów.
Porównaj sobie chociaż pliki .x (mapa pamięci dla linkera) w tych 2
wersjach kompilatora. Oraz pliki .map z kompilacji twojego programu
starszym i nowszym kompilatorem - zobaczysz, jaki kod najbardziej spuchł.
Raczej jest to problem (feature?) nowego optymaliztora w gcc 4.3 -
podobne problemy zauwazylem w wersji gcc dla arma - porownojac wersja
4.0.2 , 4.2.1. i 4.3 wychodzi ze im nowsza wersja tym wiekszy kod
generuje
Zreszta jest to bodajze zaraportowane w bugzilli gcc.
Pozdr
AK