<?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=8&amp;t=3173&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-05-25T09:10:22+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=3173&amp;mode</id>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-05-25T09:10:22+01:00</updated>
<published>2013-05-25T09:10:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37627#p37627</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37627#p37627"/>
<title type="html"><![CDATA[Re: USB, Bootloader AVR -pytań kilka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37627#p37627"><![CDATA[
Mozna programowo zresetowac więc po co takie udziwnienia ?<br /><br />Domyślnie fusebity są ustawione tak że bootloader uruchamia się na początku. Mozna jednak bootloader uruchamiać na skutek jakiegoś  zdarzenia (jak się zmieni ten bit) . Wówczas wystarczy w powyższej definicji wpisać na stałe 1.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 25 maja 2013, o 09:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2013-05-24T22:50:27+01:00</updated>
<published>2013-05-24T22:50:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37611#p37611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37611#p37611"/>
<title type="html"><![CDATA[Re: USB, Bootloader AVR -pytań kilka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37611#p37611"><![CDATA[
Istnieje taka możliwość .... wystarczy w menu dac opcję bootloader i na wolnym pinie wysterować w tym momencie <br />np tranzystor który dokona resetu  uaktywniając bootloader np.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 24 maja 2013, o 22:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-05-24T17:13:43+01:00</updated>
<published>2013-05-24T17:13:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37592#p37592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37592#p37592"/>
<title type="html"><![CDATA[Re: USB, Bootloader AVR -pytań kilka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37592#p37592"><![CDATA[
Nie rozumiesz. W mojej specyficznej sytuacji FT232 jest całkowicie zbędny. Nie potrzebuje żadnej komunikacji poza zmianą softa! Podczas zmiany softa AVR i tak nic nie będzie robił (przy FT też by nic nie robił) - wiem że będzie szybciej przy FT ale to kwestia 3s zamiast 6s (dla mnie i 10min mogło by być). Byłem przygotowany na to że będziecie mnie odciągać od tego pomysłu (zresztą ja sam miałem już na płytce narysowane wszystkie połączenia pod FT) ale ja FT nie chce.<br /><br />Analziuje kod bootloadera: znalazłem taką definicje preprocesora w pliku nagłówkowym  która jest chyba kluczowa dla wprowadzenia uruchamiania bootloadera z MENU (domyślnie jest ze zworki D7 (JUMPER_BIT = 7)):<br /><br />[syntax]#define bootLoaderCondition()   ((PIND &amp; (1 &lt;&lt; JUMPER_BIT)) == 0)[/syntax]<br />[pomiędzy PIND a (1.. jest operator bitowy AND -nie wiem czemu się tak dziwnie na forum wyświetla]<br /><br />Z tego co rozumiem bootloader sparawdza warunek( domyślnie jest to stan zworki) zaraz po włączeniu układu. Jeśli zworka jest zwarta uruchamia się całe wnętrze bootloadera , po wgraniu softa AVR musi zostać zresetowany. W przeciwnym razie (zworak otwarta) wykonuje się mój program.<br /><br />Ja jednak potrzebuje zrobić tak aby użykownik wybierał sobie z MENU opcje ,że chce zaktualizować soft. W związku z tym wymyśliłem, że bootloader będzie sprawdzał (zamiast stanu zworki) zawartość pewnej komórki w EEPROM. Jeśli będzie domyślna(1)  bootloader się nie uruchomi, jeśli (0) uruchomi się.<br /><br />W związku z tym wymyśliłem że po wybraniu opcji w MENU zostanie zmieniona wartość tej komórki w EEPROM a następnie AVR zostanie programowo zresetowany (np przez watchdog). Na LCD zostanie ekran że &quot;proszę wgrać softa&quot;. W tym czasie bootloader będzie aktywny. Ostatnią operacją którą bootloader wykona po wgraniu softa będzie ustawienbie na nowo 1 w EEPROM i programowy reset (<strong>lub reset nie jeśli to zbędne. zbędne?</strong>). dobrze to wymyśliłem?<br /><br />Oczywiście może dojść do pomyłek polegających np. na wgraniu wadliwie działającego softa(uniemożliwiającego zmianę stanu komórki w EEPROM i tym samym dostęp do bootloadera) dlatego można wprowadzić alternatywny sposób uruchamiania bootloadera właśnie ze zworką czy coś w tym stylu która była by wewnątrz obudowy np. koło baterii &lt;-- oczywiście ten sposób byłby niewygodny i mniej efektowny (LCD by nic nie wyświetlał itp) ale to rozwiązanie &quot;serwisowe&quot;, awaryjne.Wszystkie te moje pomysły zakładają że bootloader może tylko włączyć się na początku, więc zasadnicze pytanie <strong>czy istnieje możliwość wywołania bootloadera np w środku programu?</strong><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 24 maja 2013, o 17:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2013-05-24T16:55:37+01:00</updated>
<published>2013-05-24T16:55:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37590#p37590</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37590#p37590"/>
<title type="html"><![CDATA[Re: USB, Bootloader AVR -pytań kilka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37590#p37590"><![CDATA[
jeśli chodzi o VUSB to jest ono kłopotliwe i w sumie to bardziej ciekawostka , gdyż większość czasu procesora pochłania obsługa USB ... rozwiązanie z FT232 na bootloaderze UART  jest duzo pewniejsze i wygodniejsza , zwłaszcza że np bootloader Mirka zajmuje tylko 256bajtów , zaś mój zgodny z stk500 512bajtów.<br /><br />Jeśli chodzi o bootloadery USB  widać ich sens dopiero w mikrokontrolerach, które posiadają sprzetowe USB<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 24 maja 2013, o 16:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Wojtek001]]></name></author>
<updated>2013-05-24T16:24:57+01:00</updated>
<published>2013-05-24T16:24:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37588#p37588</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37588#p37588"/>
<title type="html"><![CDATA[USB, Bootloader AVR -pytań kilka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3173&amp;p=37588#p37588"><![CDATA[
Potrzebuje zrobić urządzenie które będzie posiadało możliwość aktualizacji (podmienienia) softu - nie potrzebuje żadnej innej komunikacji. Najpierw poradzono mi abym użył FT232 i bootloadera pod UART. Tak też zrobiłem. Ale teraz zdałem sobie sprawę że da się jeszcze prościej.<br /><br />Istnieje bootloader symulujący USBasp: <!-- m --><a class="postlink" href="http://www.obdev.at/products/vusb/usbasploader.html" >http://www.obdev.at/products/vusb/usbasploader.html</a><!-- m --><br />Od strony sprzętowej przy tym bootloaderze wystarcza sama wtyczka USB.<br />I teraz kilka pytań (bo ja się za bardzo nie orientuje w temacie bootloaderów):<br /> 1) Bootloader w systemie przedstawia się jako &quot;USBasp&quot;- czy w prosty sposób udało by się podmienić nazwę na inną (nazwe mojego urządzenia)?<br /> 2) Aby uruchomić bootloader należy zewrzeć jedną ze zworek - dla mnie nie jest to ani wygodne ani nawet możliwe (bo wszystkie piny AVR są wykorzystane) - czy dało by się zrobić to tak aby bootloader uruchamiał się np. przy wyborze jakiejś opcji z menu?<br /> 3) Na schemacie (artykuł w którym znalazłem ten bootloader jest na forbocie) <!-- m --><a class="postlink" href="http://www.forbot.pl/forum/upload_img/obrazki/IMG_4c7d66b7accc47332.png" >http://www.forbot.pl/forum/upload_img/o ... c47332.png</a><!-- m --><br />piny USB są podłączone do nóżek PD2, PD4 - oczywistym jest że trzeba to zmienić bo ja te nóżki mam zajęte. Będzie to proste? Co więcej na wyżej pokazanym schemacie AVR jest zasilany z USB a ja bym chciał aby podczas aktualizacji softu AVR cały czas był zasilany z baterii w urządzeniu. Wystarczy więc po prostu zawiesić w powietrzu pin 1 gniazda USB?<br /><br />dziękuje<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=500">Wojtek001</a> — 24 maja 2013, o 16:24</p><hr />
]]></content>
</entry>
</feed>