Skocz do zawartości

Problem przy wypalaniu Bootloadera Arduino nano ATmega 328 p przy pomocy Arduino Leonardo


Famous_Deer

Pomocna odpowiedź

Może na początek weź wrzuć plik konfiguracyjny jak masz ustawiony ?

 

#############################################################

nano.name=Arduino Nano

nano.upload.tool=avrdude
nano.upload.protocol=arduino

nano.bootloader.tool=avrdude
nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F

nano.build.f_cpu=16000000L
nano.build.board=AVR_NANO
nano.build.core=arduino
nano.build.variant=eightanaloginputs

## Arduino Nano w/ ATmega328
## -------------------------
nano.menu.cpu.atmega328=ATmega328

nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=9600  //change 57600

nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0x05
nano.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

nano.menu.cpu.atmega328.build.mcu=atmega328p

## Arduino Nano w/ ATmega168
## -------------------------
nano.menu.cpu.atmega168=ATmega168

nano.menu.cpu.atmega168.upload.maximum_size=14336
nano.menu.cpu.atmega168.upload.maximum_data_size=1024
nano.menu.cpu.atmega168.upload.speed=19200

nano.menu.cpu.atmega168.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168.bootloader.extended_fuses=0x00
nano.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

nano.menu.cpu.atmega168.build.mcu=atmega168

##############################################################

image.thumb.png.e7d5a3d525c4851c7d45f20427c3aea9.png image.thumb.png.5e41909600c5f158397fdb2d2f2a222b.png

Tak powinno być ustawione. / zmieniłem prędkość na wolniejszą 9600 , bo reszta była okej, ale nie wiem jak u Ciebie to wygląda.

Podepnij też pod złacze ICSP tak jak tutaj jest to podpięte , chodzi mi o wyprowadzenia z tego złącza.

image.thumb.png.caf0e4afff60f9dd74947cf46ebb5ad8.png

no i oczywiście reset ma być na 10 pinie cyfrowym zadeklarowany w przypładzie ArduinoISP :

#define RESET     10 // Use pin 10 to reset the target rather than SS

 

 

 

Edytowano przez daniel89
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Aha czaje początkujący jesteś 😉 . To powodzenia w nauce . Zmylił mnie opis że programujesz w C i C++ to myślałem że znasz podstawy uC .

Edytowano przez daniel89
  • Lubię! 1
Link do komentarza
Share on other sites

Tak jesz apropos podłączenia z pierwszego postu, Arduino Leonardo nie ma pinów SPI potrzebnych do programowania/wypalania bootloadera na pinach  11,12,13 te piny są tylko na złączu ICSP. W przypadku wykorzystania tej płytki jako programatora podłącza się tylko pin 10 do resetu, daniel89 załączył prawidłowy schemat i to nie jest wymienne jak w UNO/NANO/PRO MINI. Analogicznie przy komunikacji SPI z jakimiś czujnikami/ekranami należy to mieć na uwadze - shieldy z SPI mogą nie działać na Leonardo gdy łączą się przez piny 11,12,13.

No ale  dzięki temu Leonardo ma też dodatkowe piny cyfrowe 14,15,16 w tym złączu ICSP do wykorzystania w projektach.

Botloadery od płytek Arduino są wymienne w obrębie procesora Atmega328 można wgrywać UNO/NANO/PRO MINI między sobą (przy każdej kwarc ma być 16MHz), potem tylko trzeba pamiętać jaki się wgrało i tak będzie widziana płytka z Arduino, najlepszy jednak jest ten z UNO, aktualnie jest też w nowych płytkach NANO (trzeba o tym pamiętać mając starszą/chińską że trzeba wybrać OLD bo inaczej Arduino IDE próbuje z nią rozmawiać z prędkością 115200, a tam jest bootloader 56700). Aktualnie wszystkie wgrywam z UNO, działają najszybciej i nie muszę zmieniać płytki w ustawieniach.

  • Lubię! 1
Link do komentarza
Share on other sites

No wiem, to procek definiuje i kwarc .Potem w fuse-bitach się ustawia odpowiednie wartości. Prędkość 115200 czy 56700 może być za duża i nie zawsze udaje się dogadać, dlatego na czas wgrania bootloadera zmniejszyłem w pliku tą wartość na 9600, aby się z łatwością połączył, bo z taką prędkością musi działać. Podłączenie to już osobna kwestia na początku tego nie zauważyłem dopiero później w necie znalazłem zdjęcie że pod ISP są inne sygnały na to złącze, więc podałem prawidłowe podpięcie. Widziałem też i zdjęcia podpięte normalnie pod piny 10,11,12,13 w Leonardo więc wiesz różnie w necie jest pokazane.

Link do komentarza
Share on other sites

Domyślna prędkość w szkicu ArduinoISP jest 19200  ale zauważyłem, że AVR Dude działa z tym programatorem domyślnie na prędkości 115200  (gdy się jej nie poda), a niektóre nakładki jej nie podają, można wybrać programator AVR ISP i użyć ArduinoISP. Dlatego 115200 jest bardziej uniwersalne. Prędkość PC-Arduino nie ma dużego znaczenia, ma być po prostu z możliwie małym błędem. To nie jest tak, że AVRDUDE wrzuca 100kb flash na COM i niech sobie programator z tym radzi. Większe znaczenie ma prędkość programator-uC, za duża nie zadziała przy uC taktowanym np. 1MHz. To że można na Arduino Leonardo również użyć pinów 11,12,13 może wynikać ze szczególnych ustawień, jest to opisane w szkicu, SPI po prostu może być programowe na każdym pinie. 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.