Arduino jak nahrát bootloader

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Lukas-1
Příspěvky: 40
Registrován: 12 říj 2014, 02:00

Arduino jak nahrát bootloader

#1 Příspěvek od Lukas-1 »

Ahoj, začínám s Arduinem a při zkoušení externího programátoru se mi podařilo smazat bootloader. Chtěl jsem ověřit zda mi pracuje komunikace a volba "smazat čip" v eXtreme burner - AVR mi přišla jako jednoduchý způsob jak zjistit, že vše funguje. Fungovalo.... :-) Jenže jsem smazal nejen vlastní program, ale také bootloader, který se mi tam nedaří dostat zpět. Už se s tím marně trápím několik hodin.

Mám zde druhé UNO, které je zatím OK a poslouchá mne. Nahrál jsme do něj sketch ArduinoISP, propojil jej s arduinem bez bootloaderu podle schématu v příloze. Jenže v IDE nemohu najít volbu desky: Arduino Duemilanove w/ ATmega328.

Postupuji podle tohoto návodu: https://arduino.stackexchange.com/quest ... -atmega328

Myslím, že potřebuji tu správnou verzi souboru boards.txt, který bude Arduino Duemilanove w/ ATmega328 obsahovat. Nemáte někdo link, který by mne k němu zavedl?
Přílohy
cVfzF.png
(66.02 KiB) Staženo 207 x

Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 01:00

#2 Příspěvek od frpr666 »

Použij eXtreme burner pro vypálení bootloaderu. Najdeš jej v adresáři arduina např. zde:

C:\programs\Arduino\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex

http://forum.arduino.cc/index.php?topic=57795.0

Uživatelský avatar
Lukas-1
Příspěvky: 40
Registrován: 12 říj 2014, 02:00

#3 Příspěvek od Lukas-1 »

Nahrál jsem bootloader přes eXtreme burner - AVR. Dle protokolu vše proběhlo bez problémů, ale jakmile se pokusím nahrát program z Arduino IDE, tak se mi to nedaří a dostávám tuto chybovou hlášku:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xdc
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xdc
Problém s přenosem dat na vývojovou desku (board). Na http://www.arduino.cc/en/Guide/Troubleshooting#upload naleznete další doporučení.

Když jsem prováděl totéž s druhým nesmazaným boardem UNO, tak vše proběhlo a program bežel. Takže je asi stále problém s tím bootloaderem. Dá se nějak ověřit, zda bootloader v čipu skutečně je a zda funguje správně?

Zkoušel jsem do ATmega328P nahrát obsah z toho funkčního boardu, což se mi přes EXtreme Burner - AVR podařilo, data jsem přečetl z čipu a dle protokolu tam jsou. Program se však nerozeběhne. Led 13 trvale svítí, ačkoliv dle programu by měla blikat.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#4 Příspěvek od Atlan »

Skontroluj poistky asi ich mas v zakladnom nastaveni. Zmen ich. A bacha aby si nezablokoval procesor

Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 01:00

#5 Příspěvek od frpr666 »

Vyčti fuse-bity z funkčního arduina
Vyčti fuse-bity z nefunkčního arduina
Obojí vlož tady do diskuse ...

Jinak programátor by měl mít něco jako "verify", což porovná soubor např. "optiboot_atmega328.hex" se skutečně zapsanými byty v čipu.

Uživatelský avatar
Lukas-1
Příspěvky: 40
Registrován: 12 říj 2014, 02:00

#6 Příspěvek od Lukas-1 »

Tak dlouho jsem s tím zápasil, až se mi podařilo přijít na to v čem byl asi problém. Měl jsem stále připojený externí programátor k boardu! Myslel jsem, že když je odpojený od PC, tak to je stejné, jako by tam nebyl a ono ne. Jakmile jsem odpojil kšandu a nechal v boardu jen USB kabel, tak jsem tam program nacpal přes Arduino IDE hned.

Moc děkuju za navedení k tomu, abych se vrátil k eXtreme Burner AVRu. To mne popostrčilo tím správným směrem.

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“