<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=51&amp;t=958&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-08-01T22:06:37+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=51&amp;t=958&amp;mode</id>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-08-01T22:06:37+01:00</updated>
<published>2012-08-01T22:06:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11518#p11518</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11518#p11518"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11518#p11518"><![CDATA[
No właśnie bo twój klon nie pozwala na symulację szprzętowa tylko programową i dlatego chcąc debugowac na sprzecie musisz zadbac o wgranie wsadu w postaci hex bo elfa nie załaduje jako ICE  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br /><br />Tu ci powiem TAK:  <br />Diała u mnie na 4 debugerach:<br /><br />AVR DRAGON<br />AVR ONE <br />AVR ICE MKII<br />i na moim starym klonie AVRICE mki RS232<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 1 sie 2012, o 22:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-08-01T21:59:59+01:00</updated>
<published>2012-08-01T21:59:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11515#p11515</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11515#p11515"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11515#p11515"><![CDATA[
Z tą kompilacją to coś kompilował bo na dole widziałem że było podsumowanie wielkości flash  itd, ale nie uploadował go. <br /><br />Co jak co, to Avrdude programuje tym programatorem jako mkI i działa. Problem jest coś z jakimś ustawieniem które nie działa jak jestem w trybie widoku debug które odpoweidzialne jest za upload do uC. Tak jakby plik .elf miał być kompletnym flash do uploadowania ale żadne z ustawień nie chce nim zaproramować uC, tylko .hex nadaje się do programowania. Dlatego muszę kompilować i uploadować z dodatkami debugera a nastepnie w widoku Debug uruchomić debugowanie.<br /><br /><br />To wracaj spokojnie Sunduino, ciekawe czy ten nowy od ciebie avarice zadziała u mnie na (prawie) Wartą:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 1 sie 2012, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-08-01T21:45:09+01:00</updated>
<published>2012-08-01T21:45:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11506#p11506</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11506#p11506"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11506#p11506"><![CDATA[
Czyli jednak twój klon nie działa , prawidłowo bo wymaga uploadu via avrdude , ale to zaden problem , a pytałem czy komplacje robisz dla DEBUG <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />Po powrocie zapodam na dropa działajace nowe avriace<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 1 sie 2012, o 21:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-07-31T21:59:29+01:00</updated>
<published>2012-07-31T21:59:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11422#p11422</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11422#p11422"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11422#p11422"><![CDATA[
No i zmusiłem Eclipse do breakpointowania <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> pewnie się uśmiacie, ale zbyt dużo ustawień jak na jedno podejście chyba.<br /><br />Teraz tak, powodem że niby debugował a nie chciał reagować na breakpointy było to że do mikrokontrolera nie został uploadowany (chyba powinien automatycznie) skompilowany kod .hex w ustawieniach z ustawieniami debugerowymi. Co musiałem kliknąć: <br /><br />- Z menu w perspektywie debug lub po wybraniu konfiguracji debug w project/properties następnie C/C++ Build/Settings w zakładce ToolSettings i pierwsza pozycja Aditional Tools in Toolchain należało zaznaczyć opcje generate Hex flash i eeprom. Chodzi o to żeby skompilować projekt do pliku Hex w konfiguracji debug.<br />- Następnie tak skompilowany hex z katalogu Debug trzeba uploadować avrdudem do mikrokontrolera<br />- Kolejnym krokiem jest już przejście w perspektywe Debug i uruchomienie AVarice i następnie debugera, <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> dopiero reaguje na breakpoint ehh. <br /><br />Oczywiście przed tym zabiegiem tzn kolejnymi próbami zrobiłem wylot z systemu wszystkich programów opartych na cygwin oraz czyszczenie ccleanerem pozostałości po konfiguracji i martwe Path, dopiero zainstalowałem po tym zabiegu WinAVR-20100110 tak jak sugerował instaler.<br />Eclipse mam z chomika wersja Genymade spakowane częściowo uszykowane pod AVR ale z pomocą tego forum (tzn Was) doklikałem ustawienia tu i tam i jak narazie na próbach śmiga.<br /><br />Odnośnie Avarice nowego ściągniętego ze oficjalnej strony projektowej, ściągłem i chyc skopiowałem do odpowiedniego katalogu gdzie stary był. I jest zonk bo niechce działać, potrzebuje jakiejś nowszej wersji biblioteki cygwin1.dll i sztopa. Nawet ściągnięcie najnowszego Cygwin nic nie dał, bo kopiowałem kolejno biblioteki które wołał aż zatrzymałem się na cygusb*.* i za chiny niemogłem znaleźć tej biblioteki. <br />Pozostałem przy starym/oryginalnym z WinAvr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 31 lip 2012, o 21:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-30T09:15:18+01:00</updated>
<published>2012-07-30T09:15:18+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11289#p11289</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11289#p11289"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11289#p11289"><![CDATA[
Jeszcze raz przeczytaj wyżej o problemach z gdb-serwerem , pobierz nowsze avariace bo ten z winavr trochę stary <br />i zobacz w pierwszej części na ustawienia linkera <br /><br />nie mam żadnego klona żeby to sprawdzić , ale ze starym moim klonem na RS232 działa prawidłowo<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 30 lip 2012, o 09:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-07-30T08:50:41+01:00</updated>
<published>2012-07-30T08:50:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11288#p11288</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11288#p11288"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11288#p11288"><![CDATA[
hmm... dziś tak na świeżo pomyślałem że prawdopodobnie te narzędzia od debugowania GDB itd mogą działać na nakładce cygwin a część programów w normalnie pod windows i to się kłóci. Tak jak wczesniej wspominałem o tym numerze portu że inaczej po unixowemu trzeba wpisać to może dalej coś nie tak jest ze ścieżkami i się gubi i nie wstawia breakpointów.<br />Zaznaczam że mój programator klon itd współpracuje z AS 4.18 reaguje na breakpointy - czyli to nie wina samego programatora, tylko na etapie kompilacji w eclipse czegoś nie kompiluje jak powinien itd... przerosło mnie to dosłownie:) kilka dobrych dni nad tym siedzę. <br />Dziś znowu coś sprawdzę, odinstaluje wszystkie programy które u mnie mam na kompie które na cygwin działają, albo mingwin i na czysto eclipse rozpakuje i zobaczę jak działa. Bo na jednym eclipse Jungo udało mi sie doprowadzić że program się zatrzymał podczas debugowania na początku funkcji main tak jak miałem zaznaczone w konfiguracji, ale to już była prawie noc 12 godzin przed kompem i coś podusiłem sam nie wiem co, i w ogóle przestał się kompilować program wyrzucał błędy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 30 lip 2012, o 08:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-29T22:52:09+01:00</updated>
<published>2012-07-29T22:52:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11275#p11275</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11275#p11275"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11275#p11275"><![CDATA[
Xbary: nikt nie mówił że będzie łatwo ...   konfig dla Dragona działa bez problemów podobnie dla JTAGICE II ATMELA<br />na temat klonów się nie wypowiadam ... bo jedne lepsze inne gorsze , miałem 2 klony różne JTAG ICE  i poza <br />programowaniem żaden nie działał prawidłowo w trybie debug na AS4 - kupiłem oryginał i skończyły się problemy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Nie wiem co zaś jest z tym u was.  Paczki na dropie są te same których używam na co dzień,  po prostu spakowałem i dałem na dropa  -  może czas zrobić format i system od bablolić ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 lip 2012, o 22:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-07-29T21:55:25+01:00</updated>
<published>2012-07-29T21:55:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11268#p11268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11268#p11268"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11268#p11268"><![CDATA[
Ojj coś Eclipse u mnie nie działa jak chcę jeśli chodzi o debugera. Próbowałem instalować Te wersje z dropboxa, ale pojawiały się jakieś błędy kosmosy. Kombinowałem całą niedzielę.<br /><br />A co najlepsze wziąłem AVR Studio i sprawdziłem  czy niema czasem problemu z tymi breakpointami tam, okazało się że bez żadnych problemów debugował - reagował na breakpointy itd. <br /><br />Łapki opadają.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 29 lip 2012, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-29T11:39:01+01:00</updated>
<published>2012-07-29T11:39:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11212#p11212</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11212#p11212"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11212#p11212"><![CDATA[
config widzę masz ok , oczywiście kompilacje robisz w trybie debug ??<br />przeczytaj jeszcze raz o ograniczeniach w breakpointach. <br /><br />Jest gotowe clipse dla sunduino , dałem do testów , także wejdz w temat i przetestuj , bo mogą jeszcze być jakieś problemy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 lip 2012, o 11:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-07-29T11:28:26+01:00</updated>
<published>2012-07-29T11:28:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11206#p11206</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11206#p11206"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11206#p11206"><![CDATA[
Jeśli chodzi hardware to jest to AVR JTAGICE Compatible, zgodny z mkI. <br /><br />Problem coś jest z kompilacją bo tak jakby gdzieś brakowało tego odniesienia i samej pułapki w skompilowanym kodzie. <br /><br />Podam screeny z konfiguracją:<br /><br />AvaRice<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/447_06129ab0a4a79282734b174652f1f7b3.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_06129ab0a4a79282734b174652f1f7b3.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_40745b93bba18a884e41f7809dceb2da.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_40745b93bba18a884e41f7809dceb2da.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_4ca1ec29a38c75941c99ad622a21cd1e.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_4ca1ec29a38c75941c99ad622a21cd1e.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_171fcf92ddb2fe904d7d31821fe6203e.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_171fcf92ddb2fe904d7d31821fe6203e.jpg" alt="Obrazek" /></a><br /><br />Debug Configuration<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/447_78f917ee273a00bb8c93b569d773d86c.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_78f917ee273a00bb8c93b569d773d86c.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_62dccad61e112b59e58f2d0e3900c5f1.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_62dccad61e112b59e58f2d0e3900c5f1.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_89e0daf2640a4f1d2d207a407ff40b4b.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_89e0daf2640a4f1d2d207a407ff40b4b.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_b5aedca0e0f947c83e7e39bd775a29fb.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_b5aedca0e0f947c83e7e39bd775a29fb.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_f8bce048bf9f5b6eb306b9ee2ab7aff6.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_f8bce048bf9f5b6eb306b9ee2ab7aff6.jpg" alt="Obrazek" /></a><a href="http://forum.atnel.pl/_obrazki/o/447_066d07d6bd6b0995b2827c470c3c18ce.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/447_066d07d6bd6b0995b2827c470c3c18ce.jpg" alt="Obrazek" /></a><br /><br /><br />Programator działa, bo jak uruchomię w trybie debugera program, to wszystko ładnie działa, można pauze zrobić podejrzeć rejestry i wznowić działanie. Pokazuje normalnie w której procedurze zatrzymałem itd. no i mogę krokowo wykonać program tzn po jednej lini.<br />Tylko coś z tymi pułapkami nieten teges.<br /><br /><br /><br />ps. tak na marginesie, pytanie do Sunduino czy Eclipse już masz gotowy skonfigurowany? bo wspominałeś że kiedyś to masz zamiar sklecić.<img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 29 lip 2012, o 11:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-07-29T10:55:00+01:00</updated>
<published>2012-07-29T10:55:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11202#p11202</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11202#p11202"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11202#p11202"><![CDATA[
hmmm... <br /><br />jaki masz debuger ??<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 lip 2012, o 10:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xbary]]></name></author>
<updated>2012-07-29T01:04:44+01:00</updated>
<published>2012-07-29T01:04:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11187#p11187</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11187#p11187"/>
<title type="html"><![CDATA[Re: Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=11187#p11187"><![CDATA[
U mnie dzieje się tak że pomimo ustawienia breakpointa to nie zatrzymuje się tylko wywala mi błąd że w danym pliku niema lini z breakpointem.<br /><br />Oto log:<br /><br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">224-gdb-set confirm off<br />224^done<br />(gdb) <br />225-gdb-set width 0<br />225^done<br />(gdb) <br />226-gdb-set height 0<br />226^done<br />(gdb) <br />227-interpreter-exec console echo<br />227^done<br />(gdb) <br />228-gdb-show prompt<br />228^done,value=&quot;(gdb) &quot;<br />(gdb) <br />229<br />&amp;&quot;\n&quot;<br />229^done<br />(gdb) <br />230-gdb-set stop-on-solib-events 0<br /><br />230^done<br />(gdb) <br />231-gdb-set stop-on-solib-events 1<br />231^done<br />(gdb) <br />232-target-select remote localhost:4242<br />232^connected,thread-id=&quot;0&quot;,frame={addr=&quot;0x00000000&quot;,func=&quot;__vectors&quot;,args=&#91;&#93;}<br />(gdb) <br />233-environment-cd C:\\avrproj\\08_TWI<br />233^done<br />(gdb) <br />234-environment-directory C:/avrproj/08_TWI C:/avrproj/08_TWI C:/avrproj/08_TWI/.settings C:/avrproj/08_TWI/Debug C:/avrproj/08_TWI/Debug/I2C_TWI C:/avrproj/08_TWI/Debug/LCD C:/avrproj/08_TWI/I2C_TWI C:/avrproj/08_TWI/LCD C:/avrproj/08_TWI/RTC C:/avrproj/08_TWI/Release C:/avrproj/08_TWI/Release/Debug C:/avrproj/08_TWI/Release/Debug/I2C_TWI C:/avrproj/08_TWI/Release/Debug/LCD C:/avrproj/08_TWI/Release/I2C_TWI C:/avrproj/08_TWI/Release/LCD C:/avrproj/08_TWI/Release/RTC<br />234^done,source-path=&quot;C:/avrproj/08_TWI;C:/avrproj/08_TWI/.settings;C:/avrproj/08_TWI/Debug;C:/avrproj/08_TWI/Debug/I2C_TWI;C:/avrproj/08_TWI/Debug/LCD;C:/avrproj/08_TWI/I2C_TWI;C:/avrproj/08_TWI/LCD;C:/avrproj/08_TWI/RTC;C:/avrproj/08_TWI/Release;C:/avrproj/08_TWI/Release/Debug;C:/avrproj/08_TWI/Release/Debug/I2C_TWI;C:/avrproj/08_TWI/Release/Debug/LCD;C:/avrproj/08_TWI/Release/I2C_TWI;C:/avrproj/08_TWI/Release/LCD;C:/avrproj/08_TWI/Release/RTC;$cdir;$cwd&quot;<br />(gdb) <br />235 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />235^done<br />(gdb) <br />236-data-list-register-names<br />236^done,register-names=&#91;&quot;r0&quot;,&quot;r1&quot;,&quot;r2&quot;,&quot;r3&quot;,&quot;r4&quot;,&quot;r5&quot;,&quot;r6&quot;,&quot;r7&quot;,&quot;r8&quot;,&quot;r9&quot;,&quot;r10&quot;,&quot;r11&quot;,&quot;r12&quot;,&quot;r13&quot;,&quot;r14&quot;,&quot;r15&quot;,&quot;r16&quot;,&quot;r17&quot;,&quot;r18&quot;,&quot;r19&quot;,&quot;r20&quot;,&quot;r21&quot;,&quot;r22&quot;,&quot;r23&quot;,&quot;r24&quot;,&quot;r25&quot;,&quot;r26&quot;,&quot;r27&quot;,&quot;r28&quot;,&quot;r29&quot;,&quot;r30&quot;,&quot;r31&quot;,&quot;SREG&quot;,&quot;SP&quot;,&quot;PC&quot;&#93;<br />(gdb) <br />237-stack-info-depth<br />237^done,depth=&quot;1&quot;<br />(gdb) <br />238-break-insert main.c:35<br />&amp;&quot;No line 35 in file \&quot;../main.c\&quot;.\n&quot;<br />No line 35 in file &quot;../main.c&quot;.<br />238^error,msg=&quot;No line 35 in file \&quot;../main.c\&quot;.&quot;<br />(gdb) <br />239-stack-list-frames 0 1<br />239^done,stack=&#91;frame={level=&quot;0&quot;,addr=&quot;0x00000000&quot;,func=&quot;__vectors&quot;}&#93;<br />(gdb) <br />240-exec-continue<br />240^running<br />(gdb) <br /></div><br /><br />a po zapauzowaniu programu wszystko ładnie się zatrzymuje i pokazuje gdzie itd. Ale z tym breakpointem się nadal pluje<br /><br />log:<br /><div class="codetitle"><b>Code:</b></div><div class="codecontent">(gdb) <br />240*stopped,reason=&quot;signal-received&quot;,signal-name=&quot;SIGINT&quot;,signal-meaning=&quot;Interrupt&quot;,thread-id=&quot;0&quot;,frame={addr=&quot;0x00000134&quot;,func=&quot;data_dir_out&quot;,args=&#91;&#93;,file=&quot;../LCD/lcd44780.c&quot;,fullname=&quot;C:/avrproj/08_TWI/.settings/../LCD/lcd44780.c&quot;,line=&quot;49&quot;}<br />(gdb) <br />241 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />241^done<br />(gdb) <br />242-stack-info-depth<br />242^done,depth=&quot;2&quot;<br />(gdb) <br />243-stack-list-frames 0 2<br />243^done,stack=&#91;frame={level=&quot;0&quot;,addr=&quot;0x00000134&quot;,func=&quot;data_dir_out&quot;,file=&quot;../LCD/lcd44780.c&quot;,fullname=&quot;C:/avrproj/08_TWI/.settings/../LCD/lcd44780.c&quot;,line=&quot;49&quot;},frame={level=&quot;1&quot;,addr=&quot;0x00002c52&quot;,func=&quot;??&quot;}&#93;<br />(gdb) <br />244-data-list-changed-registers<br />244^done,changed-registers=&#91;&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;,&quot;20&quot;,&quot;21&quot;,&quot;22&quot;,&quot;23&quot;,&quot;24&quot;,&quot;25&quot;,&quot;26&quot;,&quot;27&quot;,&quot;28&quot;,&quot;29&quot;,&quot;30&quot;,&quot;31&quot;,&quot;32&quot;,&quot;33&quot;,&quot;34&quot;&#93;<br />(gdb) <br />245 info sharedlibrary<br />&amp;&quot;info sharedlibrary\n&quot;<br />~&quot;No shared libraries loaded at this time.\n&quot;<br />245^done<br />(gdb) <br />246-break-insert main.c:35<br />&amp;&quot;No line 35 in file \&quot;../main.c\&quot;.\n&quot;<br />No line 35 in file &quot;../main.c&quot;.<br />246^error,msg=&quot;No line 35 in file \&quot;../main.c\&quot;.&quot;<br />(gdb) <br />247 info signal SIGINT<br />&amp;&quot;info signal SIGINT\n&quot;<br />~&quot;Signal        Stop\tPrint\tPass to program\tDescription\n&quot;<br />~&quot;SIGINT        Yes\tYes\tNo\t\tInterrupt\n&quot;<br />247^done<br />(gdb) <br />248-data-disassemble -f C:/avrproj/08_TWI/.settings/../LCD/lcd44780.c -l 49 -n 100 -- 1<br />248^done,asm_insns=&#91;src_and_asm_line={line=&quot;47&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x0000011a&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;0&quot;,inst=&quot;std\tY+6, r24\t; 0x06&quot;},{address=&quot;0x0000011c&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;2&quot;,inst=&quot;movw\tr18, r28&quot;},{address=&quot;0x0000011e&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;4&quot;,inst=&quot;subi\tr18, 0xFC\t; 252&quot;},{address=&quot;0x00000120&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;6&quot;,inst=&quot;sbci\tr19, 0xFF\t; 255&quot;}&#93;},src_and_asm_line={line=&quot;48&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x00000122&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;8&quot;,inst=&quot;ldi\tr24, 0xA2\t; 162&quot;},{address=&quot;0x00000124&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;10&quot;,inst=&quot;ldi\tr22, 0x02\t; 2&quot;},{address=&quot;0x00000126&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;12&quot;,inst=&quot;ldi\tr20, 0x03\t; 3&quot;},{address=&quot;0x00000128&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;14&quot;,inst=&quot;call\t0x11b4\t;  0x11b4 &lt;_fpadd_parts+642&gt;&quot;},{address=&quot;0x0000012c&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;18&quot;,inst=&quot;ldi\tr24, 0x8E\t; 142&quot;},{address=&quot;0x0000012e&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;20&quot;,inst=&quot;ldi\tr25, 0x00\t; 0&quot;}&#93;},src_and_asm_line={line=&quot;49&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x00000130&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;22&quot;,inst=&quot;call\t0x7e2\t;  0x7e2 &lt;lcd_init+210&gt;&quot;},{address=&quot;0x00000134&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;26&quot;,inst=&quot;lds\tr24, 0x010C&quot;},{address=&quot;0x00000138&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;30&quot;,inst=&quot;and\tr24, r24&quot;},{address=&quot;0x0000013a&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;32&quot;,inst=&quot;breq\t.-8      \t;  0x134 &lt;data_dir_out+26&gt;&quot;},{address=&quot;0x0000013c&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;34&quot;,inst=&quot;movw\tr18, r28&quot;}&#93;},src_and_asm_line={line=&quot;50&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x0000013e&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;36&quot;,inst=&quot;subi\tr18, 0xFC\t; 252&quot;},{address=&quot;0x00000140&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;38&quot;,inst=&quot;sbci\tr19, 0xFF\t; 255&quot;},{address=&quot;0x00000142&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;40&quot;,inst=&quot;ldi\tr24, 0xA2\t; 162&quot;},{address=&quot;0x00000144&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;42&quot;,inst=&quot;ldi\tr22, 0x02\t; 2&quot;},{address=&quot;0x00000146&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;44&quot;,inst=&quot;ldi\tr20, 0x03\t; 3&quot;},{address=&quot;0x00000148&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;46&quot;,inst=&quot;call\t0x125c\t;  0x125c &lt;__addsf3+48&gt;&quot;}&#93;},src_and_asm_line={line=&quot;51&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x0000014c&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;50&quot;,inst=&quot;ldi\tr24, 0x8C\t; 140&quot;},{address=&quot;0x0000014e&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;52&quot;,inst=&quot;ldi\tr25, 0x00\t; 0&quot;},{address=&quot;0x00000150&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;54&quot;,inst=&quot;call\t0x7e2\t;  0x7e2 &lt;lcd_init+210&gt;&quot;},{address=&quot;0x00000154&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;58&quot;,inst=&quot;ldd\tr24, Y+4\t; 0x04&quot;},{address=&quot;0x00000156&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;60&quot;,inst=&quot;call\t0x3e6\t;  0x3e6 &lt;lcd_char+40&gt;&quot;}&#93;},src_and_asm_line={line=&quot;52&quot;,file=&quot;../LCD/lcd44780.c&quot;,line_asm_insn=&#91;{address=&quot;0x0000015a&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;64&quot;,inst=&quot;std\tY+3, r24\t; 0x03&quot;},{address=&quot;0x0000015c&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;66&quot;,inst=&quot;ldd\tr24, Y+5\t; 0x05&quot;},{address=&quot;0x0000015e&quot;,func-name=&quot;data_dir_out&quot;,offset=&quot;68&quot;,inst=&quot;call\t0x3e6\t;  0x3e6 &lt;lcd_char+40&gt;&quot;}&#93;}&#93;<br />(gdb)  </div><br /><br />To wygląda jakby coś się pogubiło ze ścieżkami... <br />taki błąd: No line 35 in file \&quot;../main.c\&quot;.&quot; ... a tam jest właśnie breakpoint.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=447">xbary</a> — 29 lip 2012, o 01:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2012-03-29T17:46:49+01:00</updated>
<published>2012-03-29T17:46:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=958&amp;p=4765#p4765</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=4765#p4765"/>
<title type="html"><![CDATA[Eclipse ---&gt; debuger i symulator  part 2 --- problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=958&amp;p=4765#p4765"><![CDATA[
Jak to zwykle bywa są też problemy z debugerem, ale nie jest to aż takie tragiczne jak się wydaje <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />tak więc będziemy kontynuować to zagadnienie gdyż temat jest ciekawy, ale może wprowadzić pewnego<br />rodzaju frustracje że coś jest nie tak , wiesza się lub nie działa dobrze:)<br /><br />Na początek parę ostrzeżeń i uwag jeśli chodzi o użytkowanie debugera w eclipse:<br /><br /><strong><span style="color: #FF0000">#RESTART</span></strong><br /><br />Służy do tego celu mały przycisk na pasku narzędzi, który wygląda  tak<a href="http://forum.atnel.pl/_obrazki/o/58_43fa65c7f9e5f8d225e410e108fded28.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/58_43fa65c7f9e5f8d225e410e108fded28.png" alt="Obrazek" /></a><br />Jest ładny i poręczny , ale <strong><span style="color: #FF0000">UWAGA !!</span></strong> nie działa on z avr-gdb. <br />Wciśnięcie go spowoduje zakończenie sesji debugera z komunikatem o błędzie.<br />Spowodowane jest to że w tle Eclipse wysyła &quot;<strong>-exec-run</strong>&quot; do avr-gdb, a w efekcie tego avrdude<br />&quot;<strong>zabija</strong>&quot; gdbserwer i pokazuje komunikat o błedzie &quot;<strong>Don't know how to run.</strong>&quot; <br /><br />oczywiście ten problem jak i większość można obejść ponieważ kolejna przewaga Eclipse nad innymi środowiskami jest jego niesamowita wręcz elastyczność. Oto jak to można zrobić:<br /><br />Musimy wykonać miękki reset (Soft reset), w tym celu ustawiamy punkt przerwania (breakpoint) <br />w np. main() lub innej funkcji, w której chcemy zatrzymać wykonywanie operacji na rejestrach widocznych <br />w PC który musimy ustawić na 0. (PC= Program Counter).<br />Teraz wykonać musimy wznowienie programu &quot;RESUME&quot; <br />cała ta operacja spowoduje że procesor wznowi wykonywanie programu pod adresem 0x0000, jest to miejsce wektora RESETU dla wszystkich procesorów AVR bez wyjątku. <br />Nie jest to jednak RESET taki jak byśmy chcieli gdyż  musimy pamiętać żeby wejść i wyjść z kontroli rejestrów<br />bo inaczej pozostaną one na poprzednim stanie.<br /><br /><strong>#<span style="color: #FF0000"> Breakpointy i watchpointy w Avarice</span> </strong><br /><br />Tu trzeba pamiętać, że procesory AVR w trybie JTAG maja tylko BACZNOŚĆ !!  3 dostępne pułapki sprzetowe,<br />z których dwie mogą być zamieniane na &quot;watchpointy&quot; pamięci. <br />W trybie debugWIRE nie są obsługiwane sprzętowe breakpointy i watchpointy przez AVR:(<br /><br />AVaRICE ma na szczęście możliwość z korzystania z tak zwanych miękkich  punktów przerwania (soft breakpoints), są to specjalne instrukcje zapisane w pamięci flash pod wymaganym adresem przerwania.<br />Gdy program natrafi na taki punkt zostaje zapisana oryginalna zawartość strony we flash ponownie. <br />Czyli każdy SBP powoduje co najmniej 2 cykle zapisu pamięci flash. Co ciekawe pomimo tego że w AVR ilość <br />cykli zapisu do pamięci flash jest zwykle sporo większa od gwarantowanych przez producenta 1.000 cykli (dla starszych procków) należy o tym jednak pamiętać podczas pracy z debugerem i wieloma punktami SBP.<br /><br />Soft watchpoints w SRAM są również obsługiwane przez AVaRICE, ale (no tak zaś mam jakieś <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />) znacząco spowalniają działanie debugera ponieważ nasze drogie AVaRICE musi wykonywać każdą instrukcje w <br />pojedynczych krokach i sprawdzić po wykonaniu pamięć SRAM. Dlatego trzeba pamiętać, że oglądanie 16-bitowych wartości np: wskaźnika, wykorzystuje 2 watchpointy, po jednym dla każdego bajta. <br />dlatego myślę że taki mój mały pomysł aby oglądać tylko 1 bajt 16 bitowej wartości - wykorzysta nam tylko jeden watchpoint <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> i na tym 1 bajcie oglądać zmiany.<br /><br /><br /><strong><span style="color: #FF0000"># Kilka słów o architekturze AVR  --&gt; na tym etapie to konieczne</span></strong> <br /><br />Jak wiecie procesory AVR maja architekturę Harvardzką co oznacza w uproszczeniu oddzielny kod i przestrzenie adresowe.<br />Aby odróżnić  adres danych 0(SRAM) od adresu kodu 0(FLASH) debuger dodaje 0x800000 do wszystkich adresów danych. <br />Miejcie to na UWADZE przy rozpatrywaniu wskaźników pamięci FLASH (np wskaźniki łańcuchów). <br />Na domiar tego jeszcze bardziej skomplikowana jest w AVR przestrzeń kodowa 16-bitowego słowa i przestrzeni danych 8-bitowych.<br />Ale na szczęście avr-gdb używa tylko 1 bajtowych adresów więc wszystkie adresy w przestrzeni kodu pokazane przez debuger należy podzielić <br />przez 2, aby uzyskać faktyczny adres używany przez procesor.<br /><br /><br /><strong><span style="color: #FF0000">#PRZYKŁAD</span></strong><br /><br />Mamy zrzut pamięci pod adresem 0x0000 (wektor reset) , widzimy adres &lt;0C 94 6D 00&gt;. W składni AVR &lt;0C 94&gt;<br /> jest to kod dla skoku &lt;tjmp&gt; i &lt;6D 00&gt; co zawiera zakodowany adres skoku. Jeśli zdeasemblujemy część<br />z avr-gdb wyjdzie nam &lt;tjmp 0xDa&gt; = skok do adresu 0x00da, jeśli wiec wykonamy ten skok w debugerze to w avr-gdb bajtowy adres będzie <br />0x00da (binarnie 11011010). Jeśli tą wartość podzielimy przez 2   otrzymamy <br />0x006d (binarnie 01101101) i ten właśnie adres widzi procesor <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Mam nadzieje że ten opis jest dla was przejrzysty  tak to widzi avr-gdb i jest to zgodne z jego adresacją. <br />Wiem że może to być początkowo problemem jeśli w deasemblacji będziecie robić porównanie adresów do zrzutu pamięci ,<br /> i może być mylące , ale trzeba się tego nauczyć i przyzwyczaić inaczej praca z Debugerem<br />niema najmniejszego sensu.<br /><br />Należy również pamiętać, że pierwsza część przestrzeni adresowej danych jest używana do przechowywania <br />map rejestrów CPU i I/O oraz do kontroli rejestrów. Natomiast rzeczywista pamieć SRAM zaczyna się za <br />rejestrami I/O i wielkość bloków rejestrów I/O zależy od modelu procesora.<br /><br />--------------------------------------------------------------------------------------------------------------<br />Tak wprowadziłem trochę zamętu i zamieszania , wielu się przerazi zapewne<br />i zapomni o debugowaniu:) , ale wierzcie mi bez tej wiedzy to od razu lepiej <br />sprzedajcie JTAGI bo to tak jakby dać zegarek komuś , kto nie umie go nakręcić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Ale to nie koniec straszenia <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />---------------------------------------------------------------------------------------------------------------<br /><br /><br /><strong><span style="color: #FF0000">#Rozwiązywanie problemów z debugerem</span></strong><br /><br />Jeśli masz problemy z debugerem w Eclipse to tu zamieszczę kilka porad jak sobie z tym poradzić<br />i uruchomić aplikacje debugera.<br /><br />Pierwszy przełacznik w konsoli &quot;verbose&quot; na na stronie z konfiguracji debugera można równie dobrze sobie włączyć debugowanie na <br />wyjściu serwera GDB. Wystarczy dodać kilka odpowiednich argumentów do wiersza poleceń :<br /><br />--- dla  AVaRICE:  &quot;-D&quot; lub &quot;-debug&quot;<br />--- dla simulAVR:    &quot;G&quot; lub &quot;-gdb-debug&quot; <br /><br />I następnie można rozpocząć debugowanie.<br />poniżej przykładowa lista wejść avr-gdb dla prawidłowej sesji debugera:<br /><br />Krótka instrukcja jak to czytać <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Wszystko co zaczyna się nowym numerem sekwencji jest komenda wysyłaną przez Debuger Eclipse <br />do avr-gdb.<br /><br />Wszystko co sie zaczyna od litery lub  '^', '&amp;', '~' i '*'  jest odpowiedzią generowana przez avr-gdb.<br /><br />Wszystko inne to śmieci (non-verbose) z wyjścia avr-gdb , który jest dosyć gadatliwy <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br /><br /><br />Od początku sesji do momentu trafienia na  przerwanie (breakpoint)  w funkcji main ()<br /><br />[syntax=div]<br />1-gdb-set confirm off<br /><br />1^done<br />(gdb) <br />2-gdb-set width 0<br />2^done<br />3-gdb-set height 0<br />(gdb) <br />3^done<br />4-interpreter-exec console echo<br />(gdb) <br />4^done<br />5-gdb-show prompt<br />(gdb) <br />5^done,value=&quot;(gdb) &quot;<br />(gdb) <br />6-gdb-set new-console on<br />No symbol &quot;new&quot; in current context.<br />&amp;&quot;No symbol \&quot;new\&quot; in current context.\n&quot;<br />6^error,msg=&quot;No symbol \&quot;new\&quot; in current context.&quot;<br />(gdb) <br />7 target remote localhost:4242<br />&amp;&quot;target remote localhost:4242\n&quot;<br />target remote localhost:4242<br />~&quot;0x00000000 in __vectors ()\n&quot;<br />0x00000000 in __vectors ()<br />7^done<br />(gdb) <br />8 <br />&amp;&quot;\n&quot;<br /><br />8^done<br />(gdb) <br />9-environment-directory F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest F:/java/ganymede/runtime<br />-EclipseApplication/ButterflyLCDTest/.settings F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/Debug<br /><br />9^done,source-path=&quot;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest;F:/java/ganymede/runtime<br />-EclipseApplication/ButterflyLCDTest/.settings;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/Debug;$cdir;$cwd&quot;<br /><br />(gdb) <br />10 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />10^done<br />(gdb) <br />11-data-list-register-names<br />11^done,register-names=[&quot;r0&quot;,&quot;r1&quot;,&quot;r2&quot;,&quot;r3&quot;,&quot;r4&quot;,&quot;r5&quot;,&quot;r6&quot;,&quot;r7&quot;,&quot;r8&quot;,&quot;r9&quot;,&quot;r10&quot;,&quot;r11&quot;,&quot;r12&quot;,&quot;r13&quot;,&quot;r14&quot;,&quot;r15&quot;,&quot;r16&quot;,&quot;r17&quot;,&quot;r18&quot;,&quot;r19&quot;,<br />&quot;r20&quot;,&quot;r21&quot;,&quot;r22&quot;,&quot;r23&quot;,&quot;r24&quot;,&quot;r25&quot;,&quot;r26&quot;,&quot;r27&quot;,&quot;r28&quot;,&quot;r29&quot;,&quot;r30&quot;,&quot;r31&quot;,&quot;SREG&quot;,&quot;SP&quot;,&quot;PC&quot;]<br />(gdb) <br />12-break-insert main.c:42<br />12^done,bkpt={number=&quot;1&quot;,type=&quot;breakpoint&quot;,disp=&quot;keep&quot;,enabled=&quot;y&quot;,addr=&quot;0x0000076c&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime<br />-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;42&quot;,times=&quot;0&quot;}<br />(gdb) <br />13 tbreak main<br />tbreak main<br />&amp;&quot;tbreak main\n&quot;<br />~&quot;Breakpoint 2 at 0x756: file ../main.c, line 33.\n&quot;<br />Breakpoint 2 at 0x756: file ../main.c, line 33.<br />13^done<br />(gdb) <br />14 continue<br />&amp;&quot;continue\n&quot;<br />continue<br />~&quot;main () at ../main.c:33\n&quot;<br />main () at ../main.c:33<br />~&quot;33\t{    \n&quot;<br />33{    <br />14^done<br />(gdb) <br />15 <br />&amp;&quot;\n&quot;<br /><br />15^done<br />(gdb) <br />16-break-list<br />16^done,BreakpointTable={nr_rows=&quot;1&quot;,nr_cols=&quot;6&quot;,hdr=[{width=&quot;7&quot;,alignment=&quot;-1&quot;,col_name=&quot;number&quot;,colhdr=&quot;Num&quot;},<br />{width=&quot;14&quot;,alignment=&quot;-1&quot;,col_name=&quot;type&quot;,colhdr=&quot;Type&quot;},{width=&quot;4&quot;,alignment=&quot;-1&quot;,col_name=&quot;disp&quot;,colhdr=&quot;Disp&quot;},<br />{width=&quot;3&quot;,alignment=&quot;-1&quot;,col_name=&quot;enabled&quot;,colhdr=&quot;Enb&quot;},{width=&quot;10&quot;,alignment=&quot;-1&quot;,col_name=&quot;addr&quot;,colhdr=&quot;Address&quot;},<br /><br />{width=&quot;40&quot;,alignment=&quot;2&quot;,col_name=&quot;what&quot;,colhdr=&quot;What&quot;}],body=[bkpt=<br />{number=&quot;1&quot;,type=&quot;breakpoint&quot;,disp=&quot;keep&quot;,enabled=&quot;y&quot;,addr=&quot;0x0000076c&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime<br />-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;42&quot;,times=&quot;0&quot;}]}<br />(gdb) <br />17 info proc<br />&amp;&quot;info proc\n&quot;<br />&amp;&quot;Undefined info command: \&quot;proc\&quot;.  Try \&quot;help info\&quot;.\n&quot;<br />17^error,msg=&quot;Undefined info command: \&quot;proc\&quot;.  Try \&quot;help info\&quot;.&quot;<br />(gdb) <br />18 info program<br />&amp;&quot;info program\n&quot;<br />~&quot;Debugging a target over a serial line.\n&quot;<br />~&quot;Program stopped at 0x756.\n&quot;<br />~&quot;It stopped at a breakpoint that has since been deleted.\n&quot;<br />~&quot;Type \&quot;info stack\&quot; or \&quot;info registers\&quot; for more information.\n&quot;<br />18^done<br />(gdb) <br />19 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />19^done<br />(gdb) <br />20-stack-info-depth<br />20^done,depth=&quot;1&quot;<br />(gdb) <br />21-stack-list-frames 0 1<br />21^done,stack=[frame={level=&quot;0&quot;,addr=&quot;0x00000756&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;33&quot;}]<br />(gdb) <br />22-data-list-changed-registers<br />22^done,changed-registers=[&quot;0&quot;,&quot;1&quot;,&quot;2&quot;,&quot;3&quot;,&quot;4&quot;,&quot;5&quot;,&quot;6&quot;,&quot;7&quot;,&quot;8&quot;,&quot;9&quot;,&quot;10&quot;,&quot;11&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;19&quot;,&quot;20&quot;,&quot;21&quot;,&quot;22&quot;,&quot;23&quot;,&quot;24&quot;,&quot;25&quot;,&quot;26&quot;,&quot;27&quot;,&quot;28&quot;,<br />&quot;29&quot;,&quot;30&quot;,&quot;31&quot;,&quot;32&quot;,&quot;33&quot;,&quot;34&quot;]<br />(gdb) <br />23 info sharedlibrary<br />&amp;&quot;info sharedlibrary\n&quot;<br />~&quot;No shared libraries loaded at this time.\n&quot;<br />23^done<br />(gdb) <br /><br />[/syntax]<br /><br />Pojedynczy krok &quot;Step over 'w źródle C  <br /><br />[syntax=div]<br />224-exec-next 1<br />24^running<br />(gdb) <br />24*stopped,reason=&quot;end-stepping-range&quot;,thread-id=&quot;0&quot;,frame={addr=&quot;0x00000760&quot;,func=&quot;main&quot;,args=<br />[],file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;38&quot;}<br /><br />(gdb) <br />25 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />25^done<br />(gdb) <br />26-stack-info-depth<br />26^done,depth=&quot;1&quot;<br />(gdb) <br />27-stack-list-frames 0 1<br />27^done,stack=[frame={level=&quot;0&quot;,addr=&quot;0x00000760&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime-<br /><br />EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;38&quot;}]<br />(gdb) <br />28-data-list-changed-registers<br />28^done,changed-registers=[&quot;28&quot;,&quot;33&quot;,&quot;34&quot;]<br />(gdb) <br />29 info sharedlibrary<br />&amp;&quot;info sharedlibrary\n&quot;<br />~&quot;No shared libraries loaded at this time.\n&quot;<br />29^done<br />(gdb) <br /><br />[/syntax]  <br /><br />Otwarcie widoku Deasemblacji<br /><br />[syntax=div]<br />30-data-disassemble -f F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/.settings/../main.c -l 38 -n 100 -- 1<br />30^done,asm_insns=[src_and_asm_line={line=&quot;33&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x00000756&quot;,func-<br />name=&quot;main&quot;,offset=&quot;0&quot;,inst=&quot;push\tr29&quot;},{address=&quot;0x00000758&quot;,func-name=&quot;main&quot;,offset=&quot;2&quot;,inst=&quot;push\tr28&quot;},<br /><br />{address=&quot;0x0000075a&quot;,func-name=&quot;main&quot;,offset=&quot;4&quot;,inst=&quot;rcall\t.+0      \t;  0x75c &lt;main+6&gt;&quot;},{address=&quot;0x0000075c&quot;,func-<br />name=&quot;main&quot;,offset=&quot;6&quot;,inst=&quot;in\tr28, 0x3d\t; 61&quot;},{address=&quot;0x0000075e&quot;,func-name=&quot;main&quot;,offset=&quot;8&quot;,inst=&quot;in\tr29, 0x3e\t;<br /> 62&quot;}]},src_and_asm_line={line=&quot;34&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line={line=&quot;35&quot;,file=&quot;../main.c&quot;,line_asm_insn=<br />[]},src_and_asm_line={line=&quot;36&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line={line=&quot;37&quot;,file=&quot;../main.c&quot;,line_asm_insn=<br />[]},src_and_asm_line={line=&quot;38&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x00000760&quot;,func-name=&quot;main&quot;,offset=&quot;10&quot;,inst=&quot;ldi\tr24, 0xC8\t;<br /> <br />200&quot;},{address=&quot;0x00000762&quot;,func-name=&quot;main&quot;,offset=&quot;12&quot;,inst=&quot;ldi\tr25, 0x00\t; 0&quot;},{address=&quot;0x00000764&quot;,func-<br />name=&quot;main&quot;,offset=&quot;14&quot;,inst=&quot;std\tY+2, r25\t; 0x02&quot;},{address=&quot;0x00000766&quot;,func-name=&quot;main&quot;,offset=&quot;16&quot;,inst=&quot;std\tY+1, r24\t; <br />0x01&quot;}]},src_and_asm_line={line=&quot;39&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line={line=&quot;40&quot;,file=&quot;../main.c&quot;,line_asm_insn=<br />[]},src_and_asm_line={line=&quot;41&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x00000768&quot;,func-name=&quot;main&quot;,offset=&quot;18&quot;,inst=&quot;call\t0x78c\t;<br />  <br />0x78c &lt;Initialization&gt;&quot;}]},src_and_asm_line={line=&quot;42&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x0000076c&quot;,func-<br />name=&quot;main&quot;,offset=&quot;22&quot;,inst=&quot;sei&quot;}]},src_and_asm_line={line=&quot;43&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line=<br />{line=&quot;44&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line={line=&quot;45&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line=<br />{line=&quot;46&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x0000076e&quot;,func-name=&quot;main&quot;,offset=&quot;24&quot;,inst=&quot;ldd\tr24, Y+1\t; 0x01&quot;},<br />{address=&quot;0x00000770&quot;,func-name=&quot;main&quot;,offset=&quot;26&quot;,inst=&quot;ldd\tr25, Y+2\t; 0x02&quot;},{address=&quot;0x00000772&quot;,func-<br />name=&quot;main&quot;,offset=&quot;28&quot;,inst=&quot;sbiw\tr24, 0x00\t; 0&quot;},{address=&quot;0x00000774&quot;,func-name=&quot;main&quot;,offset=&quot;30&quot;,inst=&quot;breq\t.-8      \t;  0x76e<br /> &lt;main+24&gt;&quot;}]},src_and_asm_line={line=&quot;47&quot;,file=&quot;../main.c&quot;,line_asm_insn=[]},src_and_asm_line={line=&quot;48&quot;,file=&quot;../main.c&quot;,line_asm_insn=<br />[{address=&quot;0x00000776&quot;,func-name=&quot;main&quot;,offset=&quot;32&quot;,inst=&quot;ldd\tr24, Y+1\t; 0x01&quot;},{address=&quot;0x00000778&quot;,func-<br />name=&quot;main&quot;,offset=&quot;34&quot;,inst=&quot;ldd\tr25, Y+2\t; 0x02&quot;},{address=&quot;0x0000077a&quot;,func-name=&quot;main&quot;,offset=&quot;36&quot;,inst=&quot;ldi\tr22, 0x01\t; 1&quot;},<br />{address=&quot;0x0000077c&quot;,func-name=&quot;main&quot;,offset=&quot;38&quot;,inst=&quot;call\t0x536\t;  0x536 &lt;LCD_puts_f&gt;&quot;}]},src_and_asm_line=<br />{line=&quot;49&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x00000780&quot;,func-name=&quot;main&quot;,offset=&quot;42&quot;,inst=&quot;ldi\tr24, 0x00\t; 0&quot;},<br />{address=&quot;0x00000782&quot;,func-name=&quot;main&quot;,offset=&quot;44&quot;,inst=&quot;call\t0x6fa\t;  0x6fa &lt;LCD_Colon&gt;&quot;}]},src_and_asm_line=<br />{line=&quot;50&quot;,file=&quot;../main.c&quot;,line_asm_insn=[{address=&quot;0x00000786&quot;,func-name=&quot;main&quot;,offset=&quot;48&quot;,inst=&quot;std\tY+2, r1\t; 0x02&quot;},<br />{address=&quot;0x00000788&quot;,func-name=&quot;main&quot;,offset=&quot;50&quot;,inst=&quot;std\tY+1, r1\t; 0x01&quot;},{address=&quot;0x0000078a&quot;,func-<br />name=&quot;main&quot;,offset=&quot;52&quot;,inst=&quot;rjmp\t.-30     \t;  0x76e &lt;main+24&gt;&quot;}]}]<br /><br />(gdb) <br /><br /><br />[/syntax]<br /><br />Ustawienie nowego Breakpointa<br /><br />[syntax=div]<br />37-break-insert main.c:41<br />37^done,bkpt={number=&quot;3&quot;,type=&quot;breakpoint&quot;,disp=&quot;keep&quot;,enabled=&quot;y&quot;,addr=&quot;0x00000768&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=<br />&quot;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;41&quot;,times=&quot;0&quot;}<br />(gdb) <br /><br />[/syntax]<br /><br />Uruchomienie programu do następnego Breakpointa<br /><br />[syntax=div]<br /><br />38-exec-continue<br />38^running<br />(gdb) <br />38*stopped,reason=&quot;breakpoint-hit&quot;,bkptno=&quot;3&quot;,thread-id=&quot;0&quot;,frame={addr=&quot;0x00000768&quot;,func=&quot;main&quot;,args=<br />[],file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime-EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;41&quot;}<br /><br />(gdb) <br />39 info threads<br />&amp;&quot;info threads\n&quot;<br />&amp;&quot;warning: RMT ERROR : failed to get remote thread list.\n&quot;<br />39^done<br />(gdb) <br />40-stack-info-depth<br />40^done,depth=&quot;1&quot;<br />(gdb) <br />41-stack-list-frames 0 1<br />41^done,stack=[frame={level=&quot;0&quot;,addr=&quot;0x00000768&quot;,func=&quot;main&quot;,file=&quot;../main.c&quot;,fullname=&quot;F:/java/ganymede/runtime-<br />EclipseApplication/ButterflyLCDTest/.settings/../main.c&quot;,line=&quot;41&quot;}]<br />(gdb) <br />42-data-list-changed-registers<br />42^done,changed-registers=[&quot;34&quot;]<br />(gdb) <br />43 info sharedlibrary<br />&amp;&quot;info sharedlibrary\n&quot;<br />~&quot;No shared libraries loaded at this time.\n&quot;<br />43^done<br />(gdb) <br />[/syntax]<br /><br />&gt;&gt;&gt; Analiza wyjścia debugera avr-gdb.<br /><br /><strong><span style="color: #FF0000">Należy o tym pamiętać bo jest to bardzo ważne !!!</span></strong><br /><br />--&gt;&gt; wszystkie 3 zaangażowane części (eclipse, avr-gdb i gdbserver) należy zawsze uruchamiać asynchronicznie, a <br />--&gt;&gt; avr-gdb będzie chętnie nadal działał nawet jeśli gdbserwer się zawiesił <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />ważne zatem jest, aby przewinąć sobie wyjście avr-gdb trochę do góry, aby znaleźć prawdziwą przyczynę <br />awarii. Koniec dziennika zwykle NIE jest przyczyną problemu:)<br /><br />Jeśli nie jesteście zaznajomieni z poleceniami gdb to warto poszukać  instrukcji do  GDB zwłaszcza rozdziału o interfejsie GDB/Mi.<br /> <br />O to kilka fragmentów wyjścia z avr-gdb  z typowymi problemami:<br /><br />---&gt;&gt;Could not connect...<br /><br />[syntax=div]<br /><br /> 7 cel odległy localhost: 4242<br /> cel odległy localhost: 4242<br /> &amp; &quot;Target zdalny localhost: 4242 \ n&quot;<br /> &amp; &quot;Localhost: 4242:No connection could be made ​​because the target machine actively refused it \ n&quot;.<br /> localhost: 4242: No connection could be made ​​because the target machine actively refused it.<br /> 7 ^ błąd, msg = &quot;localhost: 4242:.No connection could be made ​​because the target machine actively refused it&quot;<br /><br />[/syntax]<br /><br />Ten komunikat jest wyświetlany, gdy avr-gdb nie może połączyć się z gdbserver. Sprawdź, gdbserver (AVarice  lub simulavr)<br /> czy jest uruchomiony i że numery portów są takie same. Zauważ, że nawet z tym błedem Eclipse i avr-gdb będzie<br /> kontynuować sesję debugowania. ale otrzymasz wiadomość że &quot;program nie jest uruchomiony&quot;:)<br /><br />---&gt;&gt;Don't know how to run<br /><br />[syntax=div]<br />61-exec-run<br />61^running<br />(gdb) <br />&amp;&quot;Don't know how to run.  Try \&quot;help target\&quot;.\n&quot;<br />61^error,msg=&quot;Don't know how to run.  Try \&quot;help target\&quot;.&quot;<br /><br />[/syntax]<br /><br />No przecież pisałem żeby nie naciskać tego przycisku: <a href="http://forum.atnel.pl/_obrazki/o/58_b79885e14a23c7c0f94d63f3fd0b94d4.png"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/58_b79885e14a23c7c0f94d63f3fd0b94d4.png" alt="Obrazek" /></a><br /><br />No błędów różnych może się nam pojawić wiele , a ja nie jestem w stanie wszystkich opisać<br />jak będą jakieś nie wymienione piszcie , postaram się pomóc ich pozbyć jak też im zaradzić i wyjaśnić czego dotyczą.   <br /><br />miłej lektury <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 29 mar 2012, o 17:46</p><hr />
]]></content>
</entry>
</feed>