mám tu vývojovou desku s ATMegou 16 a na desce je přímo integrovaný JTAGICE.
V atmelstudiu 6.0 mi nelze vůbec najít, neví někdo proč? (to ale ení hlavní dotaz)
V AVR studiu 4 jsem ho v pohodě našel a když vstoupím do debugu, z jakéhosi důvodu při zmáčknutí step over mi neskočí na následující statement, ale kamsi podivně o mnoho řádků níže. Nejlépe půjde pochopit z přiložených screenů
Nepises s akym parametrom si nechal program prelozit (-O0, …, -Os)
Program sa podla mna sprava uplne korektne.
Skus si program odkrokovat v simulatore a predpokladam, ze vysledok bude uplne taky isty. Na zaciatku skaces do ini() a tak tam skocil. Poradie vykonavania nemusi byt dodrzane, ak to vyhovuje nejakej optimalizacnej ficure. V tomto pripade si asi kompilator prehodil poradie prikazov vo funkcii ini(), lebo usudil, ze takto sa mu to spravi lepsie a na vysledny kod to vplym mat nebude.
Mozno sa prekladac rozhodol vzhladom na jediny vyskyt funkcie ini() ju zahrnut do hlavneho programu a tak nemal preskocit co, respektive sa zastavil na poslednom prikaze tej funkcie ini(), ci co len chces.
Máš smůlu, optimalizovaný kód se krokuje blbě nebo vůbec. Jak moc je to chaotický záleží na kompilátoru ale skoro vždy je lepší nastavit pro ten konkrétní zdroják co tě zajímá nulovou optimalizaci, přeložit a pak krokovat.
AVR 4.19
Bud to změníš globálně pro celý projekt “Project” “Edit Configuration Options” “General” kolonka “Optimization” a nebo v to nastavíš pro každý soubor zvlášť v kartě “Custom Options” . Soubory které mají něco extra nastaveno mají pak u svého názvu * .
Když potřebuje ověřit třeba jen splnění podmínky, nastavení registru, průchod stavovým automatem a pod. tak nechápu co je na dočasné odstranění optimalizace špatného a proč by měl krokovat v ASM, to už to může rovnou psát v ASM a neřešit asertivní kompilátor…
Radius:
Také vypínám optimalizaci když zkouším nějaký kousek kódu.
V takovém neúplném kódu optimalizátor většinou něco vyřadí.
Horší je to proto, že simulujeme jiný kód, než ten definitivní s -Os.
No mne prave preto nevyhovuje AVRStudio 6, lebo nevie robit to co AVRStudio 4. Aj ked to je pre obsluhu menej komfortne, aspon robi naozaj to co ma.
Tym chcem povedat, ze ja mam radsej funkcnu lopatu, ako nefuncny bager. A hlavne nemam cas na hladanie zaludnosti toho vymakaneho bagra. Ja sa pracou potrebujem zivit a nie robit vedu-vyskum.