Zaczynam zabawę z AVR-ami. Mam program skompilowany przez autora pod Win-avr-3.4.6 i zajmuje on ok.
2kB. Ten sam program skompilowany ze źródła pod wersją 4.1.2 zajmuje ponad 4kB (opcja -0s). Podobno następne wersje generują coraz dłuższe kody, ale taka zmiana - to chyba niemożliwe. pozdrawiam, Andrzej
Możliwe i właśnie tak jest. Niestety dodanie wsparcia nowych/dużych procków spowodowało pogorszenie kodu wynikowego nawet w małych prockach. Wróć do starego gcc i już.
Użytkownik "Andrzej" snipped-for-privacy@op.pl napisał w wiadomości news:imcsdc$ujm$ snipped-for-privacy@news.onet.pl...
No niestety. Żadne pomysły nie zadziałały. Stary gcc też generuje kod ok. 4kB. Po prostu wezmę większy procesor. Będę miał możliwość większych modyfikacji kodu, więc może więcej się nauczę. ATTiny poczeka w cieple na jakiś mniejszy projekt. Dziękuję wszystkim za pomoc. PS. Chciałem podziałać w C. Tyle się mówi o przenośności kodu. W asemblerze już programowałem: 6800, 8080, 8068 (ach, te segmenty!), najwięcej Z-80. Potem była długa przerwa. pozdrawiam, Andrzej
Używam starego WinAVR. Chciałem przesiąść się na nową wersję. Gdy zobaczyłem, że binarka jest znacząco większa w nowym WinAVR, to szybciutko wróciłem do starej wersji i tyle.
Zmieniłeś też wersję avr-libc? Widzę tam operacje na float (double, ale to i tak float), od którejś wersji avr-libc te procedury bardzo "spuchły". Dowolna operacja na float to chyba 3 kB kodu na dzień dobry. We wcześniejszej wersji było dużo mniej, około 1 kB.
-------- begin -------- avr-gcc (WinAVR 20100110) 4.3.3 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Dziêki. Czyli nie nowa wersja AVR-gcc. Mój b³±d. Poniewa¿ zmienia³em kod, wygenerowa³em makefile klikaj±c w Avr-studio. Potem, gdy mi pokaza³o rozmiar ponad 4 kB, wgra³em ¼ród³o autora, ale u¿ywa³em swojego makefile. Teraz prze weekend spokojnie porównam oba makefile i znajdê (mam nadziejê przyczynê. Jeszcze raz dziekujê i pozdrawiam, Andrzej
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.