AVR Studió fordító/kódoptimalizáló, hibák, hogyanok.
- janyjozsef
- Újonc

- Hozzászólások: 3
- Csatlakozott: 2009. április 27. hétfő, 6:00
AVR Studió fordító/kódoptimalizáló, hibák, hogyanok.
Ü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.
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.
- janyjozsef
- Újonc

- Hozzászólások: 3
- Csatlakozott: 2009. április 27. hétfő, 6:00
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.
C fordítási hiba
Ü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.
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.
- janyjozsef
- Újonc

- Hozzászólások: 3
- Csatlakozott: 2009. április 27. hétfő, 6:00
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.
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.
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.
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.