WinAVR

Csobolyó János janchika at uze.net
Thu Feb 17 18:05:46 CET 2005


Andras Tantos  <andras_tantos at yahoo.com> 2005.02.17. 08:55:09 -8h-kor írta:

> Hali!
> 
> En egy olyan honapja kezdtem el hasznalni ezt a programcsomagot. Pontosabban
> csak a GCC reszet. Szimulaciora, programozasra az AVRStudio-t hasznalom,
> JTAG-et az az AVR, amit en hasznalok (ATMega48) nem ismer.
> 
> 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).
> 
> - 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.
> 
> - A GCC linker script-bol kimaradtak a 'KEEP' utasitasok, igy ha bekapcsolod
> 
> a -gc-section-t a linker-nek, akkor egy kover 0-byte hosszusagu binaris 
> fajlt kapsz.
> 
> A fenti ketto azert kell, hogy a linker ki tudja szedni a nem hivatkozott 
> fugvenyeket a binaris image-bol. Nagyon fontos a kis kodmeret eleresehez, es
> 
> nagyon megvagyok lepve, hogy lathatolag senki nem tesztelte ezt a 
> szolgaltatast Avr target-re.
> 
> - 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.
> 
> - 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 nem maradt hivatkozas, igy azokat is kiszedte. Latvanyosan kicsi 
> lett a binaris image. Persze, szep, szep a meretre optimalizalas, na de nem 
> ilyen aron :-).
> 
> - A GCC-hez adott header-file-okban is van hiba - eddig egyet talaltam. 
> Erdekes modon a hibas bit-specifikacio megegyezik az AVRStudio visszajelzo 
> ertekeivel, de nem a szimulator mukodesevel, vagy a valos chip 
> regiszter-kiosztasaval.
> 
> - A WinAVR-nel meg erdemes elolvasni a 'known issues and limitations' reszt 
> (tudom, ez nem resze a WinAVR-nek, de ha mar itt tartunk). En persze csak 
> utolag tettem ezt meg, miutan fel napot szivtam azzal, hogy a programom nem 
> mukodik. Egyes periferiat egyszeruen nem szimulalnak (I2C), vagy nem jol 
> (timer/PWM). Pedig velemenyem szerint pont az lenne a lenyege egy 
> szimulatornak, hogy a program es a periferiak kolcsonhatasat lehet rajta 
> orajel-pontosan nezni es debug-golni, hiszen ez a legjobb mod arra, hogy a 
> kornyezeti hatasok hatareseteit ki tudjad tesztelni.
> 


Mennyit veszít a progirás hatékonysága ha mindig nézned kell vajon most mit is
fordit?



-- 




More information about the Elektro mailing list