Oldal: 1 / 1

Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 22. vasárnap, 23:26
Szerző: Frank_Arduino_Walker
Kicsit megakadtam. A programom lefordítása sikeres, de nem sikerült letölteni az Arduino-ra.
Ilyen panelem van: AVR-Duino / Uno (R3; CH340) ATmega328p-vel Link
PC-s fejlesztőkörnyezet: Arduino IDE 1.6.13
Arduino nyelven írok, a 60 nap alatt Arduino tanfolyamot végzem.
Jómagam rendelkezem elektronikai és programozói alaptudással, de mikrovezérlő területen új vagyok.
Eddig USB-n keresztül töltöttem rá a programokat amiket írtam, remekül ment minden. Itthon programozgatok.

Azonban nemrég jártam egy másik helyen, és ott is akartam az Arduino áramkört programozni, rendelkezésemre állt PC-n egy Atmel Studio 6 fejlesztőkörnyezet és egy Atmel Ice nevű programozó eszköz, ezzel kellett gazdálkodnom. ISP portot használtam a feltöltéshez.
Egy netről szedett C nyelvű programot sikeresen rátöltöttem, LED villogó program, így könnyen tudtam ellenőrizni a sikeres felprogramozást.
Sajna ennyire futotta az időmből, és jól meg is szívattam ezzel magam :) (nem is, mert a megszerzett tudás kárpótol)

Ezután hazajöttem, és már nem tudtam új programot tölteni az Arduino áramkörre. A program lefordul, megpróbálja feltölteni, majd a következő üzenetet dobja:
Sketch uses 928 bytes (2%) of program storage space. Maximum is 32 256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2 039 bytes for local variables. Maximum is 2 048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
Hiba a feltöltés során. A hiba elhárítása a http://www.arduino.cc/en/Guide/ oldalon a Troubleshooting#upload alatt került leírásra.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf0
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xf0

Ez konkrétan a blink példaprogram lefordítására és feltöltésére dobott üzenet (és hibaüzenet)

Azok alapján amiket neten olvastam és pár ismerőstől hallottam a következő sztorit raktam össze:
Az USB-s feltöltés azért működött mert az Atmega328p flash memóriájában ott volt a bootloader program, ami az Arduino panel tápfeszültség alá helyezésekor elindult, és vagy soros porton várta az új feltöltendő programot, vagy reset gomb megnyomására indítja a már rajta levő programot, ezzel lehetővé teszi az USB-n való egyszerű felprogramozást. Hátránya hogy helyet foglal a flash-ben, a felhasználó által írt programot önmaga után teszi. Az ISP porton való felprogramozás viszont nem figyel a bootloader-re, a feltöltendő programot a legkisebb című helyre kezdi el írni, így felülírta a bootloadert. Ezért van az, hogy a legutóbb feltöltött LED villogtató program azonnal elindul, mikor táp alá helyezem az Arduino panelt, korábban meg azt tapasztaltam, hogy ha feltöltök egy programot, lehúzom a tápot, majd visszarakom, még resetet is kellett nyomnom hogy a programom elinduljon. És ezért van az is hogy nem tudok új programot feltölteni.

Szeretném, hogy valaki igazolja a következtetéseim helyességét vagy helytelenségét, illetve kijavítana ha szükséges.
Vagy megdobna pár link-kel, mert alap dolgokról beszélek.

És szeretném tudni újra felprogramozni a panelemet. Az sem baj ha ISP-t kell használnom ezentúl. Ezzel az eszközzel megtehetem?
TavIR USBasp USB programozó (ISP10/6 konverterrel)

A válaszokat előre köszi!

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 23. hétfő, 4:10
Szerző: vargham
Szóról-szóra így van, ahogy leírtad.

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 23. hétfő, 6:40
Szerző: Robert
Így van. Kiütötted a bootloadert.

1 kis pontosítás:
"Az ISP porton való felprogramozás viszont nem figyel a bootloader-re, a feltöltendő programot a legkisebb című helyre kezdi el írni, így felülírta a bootloadert"
Helyett:
- az első lépés a chip törlése, utána kezdődik meg az írás.
Azaz nem az ISP nem figyel, hanem a felhasználó :)

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 23. hétfő, 11:26
Szerző: SzLacus
A leírtakból két megoldás is adódik. Az egyikben a folyamatos ISP feltöltés, a másik a bootloader visszaégetése után az USB-n keresztüli programozás.
Én régóta használom az Atmen Studió alatt az Arduinot, USB-n keresztüli feltöltéssel. Van egy Dragonom, de még nem volt rá szükség.
Az Atmel studióhoz létzik egy VisiaMicro http://www.visualmicro.com/page/Arduino-Visual-Studio-Downloads.aspx?from=newstuff által készített beépülő modul. Teljesen jól betolja az Aduinot a studióba. Ingyenes a dolog, csak akkor fizetős, ha a debug funkciót az egy hónap próba alatt megkedveled. Akkor sem egy hatalmas összeg, mert van hobby/student ára is.
Nekem ez bevált, és ha valamiért a Studióban készült .ino-t Arduinoval nyitom meg, az sem okoz gondot, bár erre még nem sok példa volt.

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 23. hétfő, 21:01
Szerző: Frank_Arduino_Walker
Köszönöm szépen a válaszokat és a pontosítást!

Megrendelem ezt a TavIR-es programozót, azt írja "ATTiny4-tól az ATMega2560" támogat, szerintem ebbe beletartozik az ATmega328p is.

Egyébként meglepően gyorsan válaszoltatok, nagy itt az aktivitás.

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. január 23. hétfő, 21:47
Szerző: Robert
Mega328p-t én a bootloaderére Arduino beépített menüjével programozom:) Alapvetően lusta vagyok, és ez a leggyorsabb. De volt hogy AVRStudio esett kézre.
A legtöbbször persze STK500 a programozóHW.

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2017. február 4. szombat, 19:38
Szerző: Frank_Arduino_Walker
Azóta megrendeltem az USBasp programozót, és megint bootloaderezek, igen ez a leggyorsabb és egyszerűbb. Azóta emailben is megkaptam a 35-ös leckét, amiben le van írva minden... És még 1000 email jött, alig birok haladni a gyakorlatokkal :)
Mióta csinálom a tanfolyamot, rengeteget fejlődtem, ezért köszönöm hogy ezt létrehoztad Robi!

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2018. január 11. csütörtök, 22:34
Szerző: Attila61
Megkaptam az oktatókészletet, melyet ez úton is köszönök.
Van sajnos egy kis gond. Hasonlóan az előttem leírtakhoz a Blinket szertném futtatni az alappanelen.
Az 1.0.5.-ös keretprogramot betöltve az USB - COM1 port van bepipálva és az alappanelt Arduino UNO -nak ismeri. Az alappanelen csak egy "UNO" felirat van. A Blink futtatásakor sajnos hibára fut. Beolvasási jelenséget nem látok rajta (több led villogása), csak az L led villog másodpercenként.
A hibaüzenet: "avrdude: stk500_getsync(): not in sync: resp=0x00"
Megpróbáltam az 1.8.6-os keretprogram futtatását is.
Itt az eszközöknél a COM1-es port és az Arduino/Genuino Uno" van bejelölve.
A Blink program itt is hibára futott. Hosszas várakozás után írta ki a terjedelmes listát, mely végén. "Probléma az alaplapra feltöltéskor. Nézd meg a http://www.arduino.cc/en/Guide/Troubleshooting#upload -t javaslatokért." található.
Ugy néz ki mintha az alaplap nem helyesen lenne kiválasztva.
Még a tanfolyam elején vagyok, így sok tapasztalatom nincs ebben a dologban. Kérnék segítséget, hogy tovább léphessek.

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2018. január 11. csütörtök, 23:24
Szerző: csegebiga
Nekem gyanús az az USB-COM1 beállítás.
Biztos, hogy jó az ott és úgy?
Nem jelenik meg az eszközök között egy magasabb sorszámú COM port amikor rádugod a lapot a gépre?
A CH340 nekem eddig mindig a COM5 vagy afölötti portokra települt.
Talán érdemes lenne megnézni, hogy a ch340 rendesen települt-e a helyére? Keress rá az usbdeview szóra a forumban! sokat értekeztünk a chip telepítéséről. (Pl a Telepítési problémák témában)

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2018. január 12. péntek, 0:46
Szerző: Robert
Drivert nem/nem jól telepítetted?
lsd http://tavir.hu/tippek-soros-usb

Re: Lefordított program chip-re való rátöltésével probléma

Elküldve: 2018. január 12. péntek, 20:37
Szerző: Attila61
Nagyon köszönöm a gyors segítséget. A tippek soros - USB csatlakozásnál sikerült megoldani a problémát. A CH340-es kinai meghajtóprogi hiánya okokzta a balhét. :oops:
Már rendesen megy rajta a Blink, és a házifeladatnak eddig általam írt progijai is. :)
Kösz mindkettőtöknek a segítséget.
üdv