[MEGA2560] Potrzebny bootloader

Problemy związane z programowanie AVR w Arduino.
Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

[MEGA2560] Potrzebny bootloader

Postautor: Antystatyczny » niedziela 04 lut 2018, 13:37

Witam.

Potrzebuję bootloader do takiego ustrojstwa:
WP_20180204_005.jpg


W przypadku Arduino UNO sprawa jest o tyle fajna, że bootloader obsługiwany jest przez AVRDUDE i to jest mega wygodne, bo mogę sobie "wprost" z eclipse'a wrzucać soft przez kabelek USB do ATmega328. Niestety UNO miałem tylko przez chwilę, a w szufladzie leży i zbiera kurz znacznie większe bydlę, czyli MEGA2560. Ma ktoś jakiś sprawdzony bootloader, który współdziałałby przy okazji z AVRDUDE?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
phill2k
User
User
Posty: 272
Rejestracja: niedziela 18 paź 2015, 00:12

Re: [MEGA2560] Potrzebny bootloader

Postautor: phill2k » niedziela 04 lut 2018, 14:46

W Arduino znajdziesz bootloader do Mega2560.

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [MEGA2560] Potrzebny bootloader

Postautor: SuperGość » niedziela 04 lut 2018, 15:03

Podłacz płytke do programatora i uruchom to w IDE Arduino, tam jest polecenie "wypal bootloader" oczywiście trzeba wybrać programator i typ płytki. Ewentualnie wyprobuj tego
stk500boot_v2_mega2560.7z
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: [MEGA2560] Potrzebny bootloader

Postautor: Antystatyczny » niedziela 04 lut 2018, 17:57

Niestety Arduino 1.8.5 nie widzi mojego usbasp, który z pozostałymi softami działa prawidłowo. IDE Arduino wypluwa taką treść błędu:

Arduino:1.8.5 (Windows 10), Płytka:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : usb
Using Programmer : usbasp
avrdude: Warning: cannot query manufacturer for device: No such file or directory
avrdude: Warning: cannot query product for device: No such file or directory
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done. Thank you.

Błąd przy wgrywaniu bootloadera.

VID i PID się zgadzają. Coś przeoczyłem? Innym programem + usbasp mogę robić z tą płytką co chcę, wszystko działa poprawnie, a Arduino tego sprzętu nie widzi.
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

SuperGość
Uber Geek
Uber Geek
Posty: 2346
Rejestracja: piątek 04 wrz 2015, 09:03

Re: [MEGA2560] Potrzebny bootloader

Postautor: SuperGość » niedziela 04 lut 2018, 18:41

wgraj po prostu ten bootloader poza środowiskiem Arduino

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: [MEGA2560] Potrzebny bootloader

Postautor: Antystatyczny » niedziela 04 lut 2018, 18:49

Poczyniłem następujące kroki:

Najpierw odpaliłem avrdude 5.10 i w konsoli sprawdziłem, że wszystko działa poprawnie. Użyłem takiego polecenia: avrdude.exe -p m2560 -c usbasp -v

Następnie przeszedłem do katalogu wewnątrz arduino, gdzie skrywa się avrdude w wersji 6.3 i użyłem tego samego polecenia, czyli avrdude.exe -p m2560 -c usbasp -v

Sprawdziłem w manualu i nic się w kwestii wydawania poleceń nie zmieniło (a przynajmniej nic, co związane jest z wyborem układu, programatora oraz wymuszenia trybu gadatliwego. Efekt jest następujący:

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin> avrdude.exe -p m2560 -c usbasp -v

avrdude.exe: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\bin\avrdude.conf"
avrdude.exe: error at C:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\bin\avrdude.conf:320: programmer type must be written as "id_type"
avrdude.exe: error reading system wide configuration file "C:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\bin\avrdude.conf"

Z treści wynika, że jest jakiś problem z odczytem pliku konfiguracyjnego, który leży w folderze obok. Potrafię ten plik bez problemu otworzyć i nie ma z nim żadnego problemu (a przynajmniej tak mi się wydaje).

Najchętniej wgrałbym ręcznie ten bootloader, ale potem trzeba poczarować z fuse bitami i lock bitami, żeby to porządnie działało, a w życiu tego nie robiłem "z palca".
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
phill2k
User
User
Posty: 272
Rejestracja: niedziela 18 paź 2015, 00:12

Re: [MEGA2560] Potrzebny bootloader

Postautor: phill2k » niedziela 04 lut 2018, 19:42

Wszystko masz w pliku boards.txt

sekcja
mega.name=Arduino/Genuino Mega or Mega 2560

mega.upload.tool=avrdude
mega.upload.maximum_data_size=8192

mega.bootloader.tool=avrdude
mega.bootloader.low_fuses=0xFF
mega.bootloader.unlock_bits=0x3F
mega.bootloader.lock_bits=0x0F

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1168
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: [MEGA2560] Potrzebny bootloader

Postautor: Antystatyczny » niedziela 04 lut 2018, 19:55

Udało mi się zmusić do współpracy Arduino IDE z moim programatorem usbasp. Wyszukałem w sieci, że należy pobrać program Zadig 2.3, a następnie podmienić sterownik programatora na libusbK(v3.0.7.0). Po tym zabiegu wbudowany w arduino avrdude natychmiast nabrał ochoty do współpracy, co pozwoliło mi wypalić bootloader z poziomu IDE.

Zasadniczo problem został rozwiązany. Teraz jeszcze walczę z błędami na płytce "chinduino". Czasem da się ją programować, czasem nie... Czasem jakby się resetowała. To już jednak jest inna kwestia i dziękuję wszystkim za pomoc.

Pozdrawiam! :)
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.


Wróć do „Programowanie AVR w Arduino”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości