AVR Studió fordító/kódoptimalizáló, hibák, hogyanok.

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
janyjozsef
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2009. április 27. hétfő, 6:00

AVR Studió fordító/kódoptimalizáló, hibák, hogyanok.

Hozzászólás Szerző: janyjozsef »

Üdvözlök mindenkit!
A következő problémám van AVR studiót használok WIN AVR fordítóval. Ha egy PL T0-ába egy változó értékét növelem (m_Wait++) és volatile WORD m_Wait; ,akkor a kódom kb 2k-val nagyobb mint, akkor, ha elhagyom a volatile kulcsszót. Az m_Wait egy függvényben van felhasználva mint késleltető, ahol egy while nézi az értékét. Mi lehet az oka a horrtorisztikus kódméret növekedésnek?
Köszönöm válaszotokat.
Avatar
janyjozsef
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2009. április 27. hétfő, 6:00

Hozzászólás Szerző: janyjozsef »

A fordítási optimalizálást kikapcsolva is tapasztalom a jelenséget. Ha nem optimalizálok, akkor még a flash-méretből is kilép (programja válogatja) Azonban egy rövidke progi esetében semmi változást sem tapasztaltam a kód méretének változásában. A nagyobb kódok esetén van jelentősége, ahogy észrevettem. Visszanéztem az ASM kódot és volatilével teljesen mást fordított mint nélküle. Működni azonban ugyan úgy ment.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Valószínű egy komplett függvénykönyvtárat fordít bele, nem csak a neked kellő kis részletét...
Avatar
laci3041
DrótVégénSzéndarab
Hozzászólások: 19
Csatlakozott: 2009. február 11. szerda, 7:00

C fordítási hiba

Hozzászólás Szerző: laci3041 »

Üdvözlök Mindenkit !

Egy C-ben íródott netes projectet szeretnék utánépíteni.
A gond az, hogy nincs .HEX fájl, csak a forrás fájlok.
Megpróbáltam lefordítani AVRStudio-val, de 2 hiba miatt nem fordul le.
Mivel nem értek a C-hez (csak Assembly-hez, valamennyire),
fogalmam sincs mi lehet a baj.
Meg tudnátok mondani mit csináljak, hogy leforduljon a project ?

Egyébként ez egy autós átlagfogyasztás mérő, ATMega8-al.
Cseh project, a fájlokban a kommentek egy része cseh nyelven van.

A file csere-bere menüpontban feltöltöttem a hibaüzenet képernyőjét
AVR.jpg néven, és a forrás fájlokat fogy.zip néven.

Köszönöm !

Üdv.: Laci.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

WinAVR-t próbáld meg, az van a C-hez!
AVRStudio az ASMhez :)
Avatar
janyjozsef
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2009. április 27. hétfő, 6:00

Hozzászólás Szerző: janyjozsef »

Szia!


Project => Configuration options

Állítsd be a

-Device => ATMEGA8
-Frequenzy => FCPU amin fut az atmega. Vigyázz!!! Hz-ben kell megadni.
-Optimalization => általában -Os, de lehet más is, attól függően, hogy mire optimalizálsz. Ezt állítva vagy elfér a kód, vagy nem. Ez azonban a futás sebességére is kihatással van. És még egy kicsit erre arra is.

Használd a legújabb WIN AVR-t.
Szerintem ennyi. Bár még én is kezdő vagyok.
Remélem ez segít.
Avatar
laci3041
DrótVégénSzéndarab
Hozzászólások: 19
Csatlakozott: 2009. február 11. szerda, 7:00

Hozzászólás Szerző: laci3041 »

Sziasztok !

Köszömöm midkettőtöknek!
Kipróbálom amit írtatok és beszámolok az eredményről...

Üdv.: Laci.
Avatar
laci3041
DrótVégénSzéndarab
Hozzászólások: 19
Csatlakozott: 2009. február 11. szerda, 7:00

Hozzászólás Szerző: laci3041 »

Sziasztok !

Nem sikerült :(...
Feltettem a legújabb WinAVR-t.
Az AVRStudio továbbra is ugyanazt produkálja (beállítottam, amit írtatok).
A WinAVR-nek meg nincs "kezelőfelülete",
próbáltam a Programmers Notepad-ban, de
"make.exe: *** No rule to make target `all'. Stop."
hibával megáll.
Makefile készítés megvolt...
Biztos én nem jól csinálok valamit...
Csak nem tudom, mit...
Gondolom a projectbe be kell vonni az összes fájlt (.c .h .s)...

Leírnátok pár mondatban, hogy csináljam ?

Köszönöm !

Laci.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Válasz küldése