RTV forum PL | NewsGroups PL

Jak skutecznie wgrać bootloader do Arduino Mega 2560 z programatorem USBasp?

Arduino mega 2560 i problem z wgraniem bootloadera...

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skutecznie wgrać bootloader do Arduino Mega 2560 z programatorem USBasp?

Jakub Jewuła
Guest

Fri May 04, 2012 3:29 pm   



Czesc :)

Mam dziwny problem z wgraniem bootloadera do plytki zgodnej
z Arduino 2560. (Oryginal bede mial po niedzieli i wtedy porownam).

Probowalem wgrywac roznie, w koncu z linii polecen daje najlepsze wyniki.

Wgrywam tak:

avrdude.exe -b 115200 -p m2560 -P com1 -c usbasp -v -e -U efuse:w:0xFD:m -U
hfuse:w:0xD8:m -U lfuse:w:0xFF:m
avrdude.exe -b 115200 -p m2560 -P com1 -c usbasp -v -e -U
flash:w:stk500boot_v2_mega2560.hex -U lock:w:0x0F:m

Bootloader wgrywa sie, program zglasza blad kontroli,
ale to jak doczytalem gdzies w necie jest normalne.

Plytka dziala. Wgrywam wlasciwy soft i rowniez dziala.
ALE! Ponowne wgranie softu wlasciwego zabija plytke.

Na moje, niefachowe oko wyglada to jakby za drugim razem
zamazywany byl bootloader pomimo ustawienia Lock Bitu 0F.

Programator mam taki:
http://allegro.pl/programator-avr-usb-podstawki-do-atmega-kabel-i2303274653.html

Dotychczas programowalem nim Atmegi 328 i wszystko gralo.
Fakt, ze akurat nie wgrywalem bootloaderow tylko finalny soft.

Ma ktos moze pomysl o co chodzi? Przyznam, ze jestem zielony jak szczypior
;)

Z gory dzieki za pomoc

Jakub

Michoo
Guest

Fri May 04, 2012 4:40 pm   



On 04.05.2012 17:29, Jakub Jewuła wrote:
Quote:
Bootloader wgrywa sie, program zglasza blad kontroli,
ale to jak doczytalem gdzies w necie jest normalne.

Plytka dziala. Wgrywam wlasciwy soft i rowniez dziala.
ALE! Ponowne wgranie softu wlasciwego zabija plytke.

Na moje, niefachowe oko wyglada to jakby za drugim razem
zamazywany byl bootloader pomimo ustawienia Lock Bitu 0F.
Tak an szybko to imo przy wgrywaniu przez programator robisz chip erase

a powinieneś czyścić tylko określone strony.

Przy czym nie rozumiem po co wgrywasz program programatorem skoro masz
już zainstalowany bootloader - powinieneś programować za jego pomocą.

--
Pozdrawiam
Michoo

Jakub Jewuła
Guest

Fri May 04, 2012 4:59 pm   



Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:jo10uc$fc9$1@mx1.internetia.pl...
Quote:
On 04.05.2012 17:29, Jakub Jewuła wrote:
Bootloader wgrywa sie, program zglasza blad kontroli,
ale to jak doczytalem gdzies w necie jest normalne.

Plytka dziala. Wgrywam wlasciwy soft i rowniez dziala.
ALE! Ponowne wgranie softu wlasciwego zabija plytke.

Na moje, niefachowe oko wyglada to jakby za drugim razem
zamazywany byl bootloader pomimo ustawienia Lock Bitu 0F.
Tak an szybko to imo przy wgrywaniu przez programator robisz chip erase a
powinieneś czyścić tylko określone strony.

Przy czym nie rozumiem po co wgrywasz program programatorem skoro masz już
zainstalowany bootloader - powinieneś programować za jego pomocą.


Programatorem wgrywam bootloader.

Wlasciwy program juz przez USB.
Za pierwszym wgraniem (programu przez USB) wszystko gra,
za drugim plytka umiera.

q

Michoo
Guest

Fri May 04, 2012 6:40 pm   



On 04.05.2012 18:59, Jakub Jewuła wrote:
Quote:
Programatorem wgrywam bootloader.

Wlasciwy program juz przez USB.
Za pierwszym wgraniem (programu przez USB) wszystko gra,
za drugim plytka umiera.
Większość działa tak, że żeby przejść do bootloadera trzeba spełnić

jakiś warunek:
- wymusić na pinie stan niski/wysoki
- zresetować 2 razy procesor w krótkim czasie
- (bardzo rzadko) odpalić bootloader z kodu użytkownika
- etc

No i jeszcze bootloader mógł być zbudowany z wektorem przerwań w 0
zamiast w odpowiedniej lokacji, albo nie ma ustawionego odpowiedniego
fuse bitu, żeby procesor startował z bootoadera, etc.

A w ogóle czemu nie używasz środowiska arduino?

--
Pozdrawiam
Michoo

Marcin Wasilewski
Guest

Fri May 04, 2012 7:27 pm   



Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:jo17ui$acn$1@mx1.internetia.pl...

Quote:
A w ogóle czemu nie używasz środowiska arduino?

Żeby używać środowiska arduino to chyba najpierw musi w procku bootloader
umieścić.

Marcin Wasilewski
Guest

Fri May 04, 2012 7:34 pm   



Użytkownik "Jakub Jewuła" <biuro@skanowanie.com.pl> napisał w wiadomości
news:jo0skt$47b$1@inews.gazeta.pl...

Quote:
Dotychczas programowalem nim Atmegi 328 i wszystko gralo.
Fakt, ze akurat nie wgrywalem bootloaderow tylko finalny soft.
Ma ktos moze pomysl o co chodzi? Przyznam, ze jestem zielony jak
szczypior Wink
Z gory dzieki za pomoc

Porównaj fusebity z prockiem w którym tak się nie dzieje.
Czy to na pewno bootloader od ATMEGA2560, a nie np. do ATMEGA1280?

ATMEGA2560 pomimo wspólnego datasheet-a dość sporo się różni od 1280.
Dodatkowe mechanizmy umożliwiające używanie flasha powyżej 128K.
Np. więcej stosu zużywa na adresy powrotu (każdy adres powrotu to 3 bajty na
stosie),
co skutkuje większym zużyciem stosu i wydłużeniem zapisu/ściągania adresu ze
stosu o 2 cykle zegarowe.

Michoo
Guest

Fri May 04, 2012 8:43 pm   



On 04.05.2012 21:27, Marcin Wasilewski wrote:
Quote:
Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:jo17ui$acn$1@mx1.internetia.pl...

A w ogóle czemu nie używasz środowiska arduino?

Żeby używać środowiska arduino to chyba najpierw musi w procku
bootloader umieścić.
Wydawało mi się, że arduino ma opcję ładowania bootloadera. A także po

zapakowaniu bootloadera arduino powinno wiedzieć co zrobić,żeby wykonać
reset do bootloadera.

--
Pozdrawiam
Michoo

Jakub Jewuła
Guest

Sat May 05, 2012 6:12 am   



Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:jo1f6e$4gj$1@mx1.internetia.pl...
Quote:
On 04.05.2012 21:27, Marcin Wasilewski wrote:
Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:jo17ui$acn$1@mx1.internetia.pl...

A w ogóle czemu nie używasz środowiska arduino?

Żeby używać środowiska arduino to chyba najpierw musi w procku
bootloader umieścić.
Wydawało mi się, że arduino ma opcję ładowania bootloadera. A także po
zapakowaniu bootloadera arduino powinno wiedzieć co zrobić,żeby wykonać
reset do bootloadera.

Ma ale wymaga jakiegos koszernego programatora a ja
mam jaki mam. Po niedzieli bede mial druga plytke
Arduino i jej uzyje jako programatora - jest taka
teoretyczna mozliwosc.

q

Jakub Jewuła
Guest

Sat May 05, 2012 11:05 am   



Pobawilem sie plytka jeszcze raz. Sytuacja wyglada tak:

Pod wgraniu bootloadera poleceniem

avrdude.exe -b 115200 -p m2560 -P com1 -c usbasp -v -e -U efuse:w:0xFD:m -U
hfuse:w:0xD8:m -U lfuse:w:0xFF:m
avrdude.exe -b 115200 -p m2560 -P com1 -c usbasp -v -e -U
flash:w:stk500boot_v2_mega2560.hex -U lock:w:0x0F:m

i odczytaniu fusy sa ok. Ale odczyt lock bit podaje wartosc 3F...
Czy nie powinna to byc wartosc 0F?

Wgrywam cokolwiek uzywajac Arduino i wgrywa sie ok - program dziala.

Ponowna proba wgrania czegos za pomoca Arduino juz sie nie udaje -
wyglada to tak jakby bootloader juz byl uszkodzony.

Jakies pomysly?

Jakub

elektroda NewsGroups Forum Index - Elektronika Polska - Jak skutecznie wgrać bootloader do Arduino Mega 2560 z programatorem USBasp?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map