forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Podivné chování debuggeru JTAGICE - Atmel a AVR Studio
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Programátory
 
Slav3k
Profesionál
Profesionál


Založen: 17.4.2013
Příspěvky: 45

PříspěvekZaslal: 14 listopad 2013, 18:45    Předmět: Podivné chování debuggeru JTAGICE - Atmel a AVR Studio Citovat

Zdravím,

mám tu vývojovou desku s ATMegou 16 a na desce je přímo integrovaný JTAGICE.

1) V atmelstudiu 6.0 mi nelze vůbec najít, neví někdo proč? (to ale ení hlavní dotaz)

2) 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ů

Děkuji moc za pomoc

URL NA SCREENY:
PRED F11:
http://img99.rajce.idnes.cz/d9902/8/8663/8663712_04b6b0895f44747f72a8c26c9db861c9/images/1-pred.jpg?ver=0

PO F11:
http://img99.rajce.idnes.cz/d9902/8/8663/8663712_04b6b0895f44747f72a8c26c9db861c9/images/2-po.jpg?ver=0
[/url]

Arrow administrator: přesunuto z "AVR"

Arrow administrator: přejmenováno z "Podivné chování debuggeru JTAGICE"

Arrow administrator: přiloženy externí soubory



1-pred.jpg
 Komentář:

Stáhnout
 Soubor:  1-pred.jpg
 Velikost:  113.21 kB
 Staženo:  240 krát


2-po.jpg
 Komentář:

Stáhnout
 Soubor:  2-po.jpg
 Velikost:  124.08 kB
 Staženo:  230 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1455

PříspěvekZaslal: 14 listopad 2013, 21:26    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Slav3k
Profesionál
Profesionál


Založen: 17.4.2013
Příspěvky: 45

PříspěvekZaslal: 14 listopad 2013, 21:37    Předmět: Citovat

Aha, chápu, to dává smysl Smile díky

Jenom by mě teda zajímalo k čemu tam tedy je možnosst step over ... když to stejně vletí dovnitř funkce
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1455

PříspěvekZaslal: 14 listopad 2013, 21:46    Předmět: Citovat

No ved to Smile

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. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Slav3k
Profesionál
Profesionál


Založen: 17.4.2013
Příspěvky: 45

PříspěvekZaslal: 14 listopad 2013, 21:47    Předmět: Citovat

No to ale není korektní, přeskočil mnoho řádků ... správně i když jde dovnit funkce, tak má jít na první řádek funkce ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 472

PříspěvekZaslal: 14 listopad 2013, 22:03    Předmět: Citovat

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.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Slav3k
Profesionál
Profesionál


Založen: 17.4.2013
Příspěvky: 45

PříspěvekZaslal: 14 listopad 2013, 22:54    Předmět: Citovat

Ok, poradíš jak vypnout optimalizaci ? díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
AB
Profesionál
Profesionál


Založen: 24.2.2010
Příspěvky: 419

PříspěvekZaslal: 14 listopad 2013, 23:11    Předmět: Citovat

citace:
Máš smůlu, optimalizovaný kód se krokuje blbě nebo vůbec.

Problém velmi silného optimalizátoru gcc je v tom, že může změnit kód tak, že simulátor v Avrstudiu s tím má problémy.

Horší řešení je vypnout optimalizaci.
Lepší řešení je v simulátoru přepnout do okna asembleru a tam krokovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Slav3k
Profesionál
Profesionál


Založen: 17.4.2013
Příspěvky: 45

PříspěvekZaslal: 14 listopad 2013, 23:21    Předmět: Citovat

Chápu, poradíš kde se dá vypnout optimalizace, popř jak přepnout na assembler ?

díky moc
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 472

PříspěvekZaslal: 15 listopad 2013, 1:31    Předmět: Citovat

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 * .

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 472

PříspěvekZaslal: 15 listopad 2013, 1:32    Předmět: Citovat

-O0 znamená neoptimalizovat.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 472

PříspěvekZaslal: 15 listopad 2013, 1:49    Předmět: Citovat

AB napsal:

Horší řešení je vypnout optimalizaci.
Lepší řešení je v simulátoru přepnout do okna asembleru a tam krokovat.


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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1455

PříspěvekZaslal: 15 listopad 2013, 3:40    Předmět: Citovat

Simulator samozrejme nema problem s krokovanim optimalizovaneho programu. To len obsluha moze obcas cumiet ako puk do vykladu Smile

Nastavenie optimalizacie

Project->Configuration Option->Optimization

nastavenie

-O0 bez optimalizacie
-O1 ciastocna optimalizacia
-O2 vacsia optimalizacia
-O3 optimalizacia na rychlost
-Os optimalizacia na velkost kodu

Ja pouzivam iba -Os. Mam skusenosti, ze kod je zaroven najrychlejsi. Je to take dobre optimum (aspon pre mna Smile )
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
AB
Profesionál
Profesionál


Založen: 24.2.2010
Příspěvky: 419

PříspěvekZaslal: 15 listopad 2013, 7:02    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1455

PříspěvekZaslal: 15 listopad 2013, 9:12    Předmět: Citovat

Oba kódy (-O0 a aj -Os) budú fungovať rovnako, ak je kód správne napísaný. Smile

Ale určite odporúčam testovať to, čo aj v skutočnosti pobeží.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Programátory Časy uváděny v GMT + 2 hodiny
Jdi na stránku 1, 2  Další
 
Strana 1 z 2
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)