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
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