WinAVR
Nagy Endre
gumo at lucifer.kgt.bme.hu
Fri Feb 18 10:24:07 CET 2005
> Tapasztalatok: mindegyik eleg vacak (hozza tartozik, hogy par napja jelent
> meg az uj WinAVR, amiben egy ujabb GCC van, szoval lehet, hogy az
> eszrevetelek egy resze mar nem igaz).
En ugyan nem WinAVR-t, hanem friss, sajat forditasu GCC-ket szoktam
hasznalni, de az AVR targeten nem sok minden valtozott (szerintem nem
fejlesztik tulzottan ezt az agat). Nehany hibaja van (ha beleakad az
ember, akkor szivas), de ha nem akarok elmenni a proci kepessegeinek
hataraig, akkor nagyon kellemes es hatekony tud lenni. Persze annak,
aki C szemleletben gondolkodik.
Osszessegeben egy korrekt beta szoftver, es eleg elterjedt, eleg jol
tamogatott. Sok kereskedelmi C fordito meg ezt a szinvonalat sem eri
el, meg ennel elterjedtebb targeteken sem.
> - Az AvrGCC nem ismeri az -fdata-sections opciot (hala istennek legalabb az
> -ffunction-sections-t ismeri). Az elobbi megadasat egy laza elszalassal
> honoralja, a masodikra egy kikapcsolhatatlan warning-ot ad.
Meg mindig jobb, mintha csendben hulyeseget csinalna. (Sajnos olyan is
elofordul, pl. nagy konstans stringeknel.)
> - A GCC rengeteg apro pesszimalizaciot (:-)) csinal. Ezek nem kod-generalasi
> hibak, hiszen a kesz program mukodik, csak epp messze nem az optimalis
> megoldas. A kedvencem, amikor az "if((a & 0x40) == 0)" -bol egy laza
> mozdulattal egeralt egy ciklust, amiben szepen egyesevel leleptette 'a'
> bit-jeit, amig a 6. be nem kerult a C flag-be.
Az optimalizacio neha tenyleg furcsa dolgokat muvel, de nem ez a jellemzo :)
Neha olyan asm jon ki belole, hogy magam sem irhatnam szebben (mar ha
lennek akkora majer, hogy mindent asm-ben programozzak).
> - Egy alkalommal a GCC ugy dontott, hogy az allapotgepem switch utasitasa nem
> kell nekem, es az *egeszet* kidobta a kodbol. Ezek utan persze a fel progamra
Ez mar parajelenseg :)
Gumo
More information about the Elektro
mailing list