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