Lefordított program chip-re való rátöltésével probléma
Elküldve: 2017. január 22. vasárnap, 23:26
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!
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!