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

Ha a chip nem reagál a programozóra...
Frank_Arduino_Walker
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2016. december 23. péntek, 15:04

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

Hozzászólás 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!
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

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

Hozzászólás Szerző: vargham »

Szóról-szóra így van, ahogy leírtad.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás 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ó :)
http://www.tavir.hu - a gazda :)
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

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

Hozzászólás 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 ... m=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.
Frank_Arduino_Walker
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2016. december 23. péntek, 15:04

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

Hozzászólás 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.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás 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.
http://www.tavir.hu - a gazda :)
Frank_Arduino_Walker
Újonc
Újonc
Hozzászólások: 5
Csatlakozott: 2016. december 23. péntek, 15:04

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

Hozzászólás 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!
Attila61
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2017. december 23. szombat, 15:05

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

Hozzászólás 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.
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

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

Hozzászólás 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)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hozzászólás Szerző: Robert »

Drivert nem/nem jól telepítetted?
lsd http://tavir.hu/tippek-soros-usb
http://www.tavir.hu - a gazda :)
Attila61
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2017. december 23. szombat, 15:05

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

Hozzászólás 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
Válasz küldése