Skocz do zawartości
Famous_Deer

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

Pomocna odpowiedź

(edytowany)

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

Udostępnij ten post


Link to post
Share on other sites

Cześć.

Tak z ciekawości. Po co chcesz wypalać bootloader w NANO? Wymieniałeś mikrokontroler?

Udostępnij ten post


Link to post
Share on other sites

@Jamik Nie, po prostu program nie widzi go 

Plus chce wiedzieć na przyszłość 

 

Udostępnij ten post


Link to post
Share on other sites

Ten typ tak ma. Do komunikacji z komputerem używa CH340 który wymaga doinstalowania sterowników. To że komputer go nie widzi ni ma nic wspólnego z mikrokontrolerem.

Udostępnij ten post


Link to post
Share on other sites

@Jamik rozumiem. Nie wiedziałem o tym, jestem świeżakiem w tych sprawach.

@daniel89 Dziękuje wszystko działa 😄

Udostępnij ten post


Link to post
Share on other sites

Czyli wypaliłeś ten bootloader bez problemu przeszło po jakim zabiegu ?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@daniel89 Po tym jak wrzuciłem plik konfiguracyjny, nie było już żadnych problemów

Edytowano przez Famous_Deer

Udostępnij ten post


Link to post
Share on other sites

No widzisz, ale nie pokazałeś jak miałeś ustawiony u siebie ten plik : boards.txt , a prosiłem byś pokazał, ale trudno i tak wiadomo o co chodzi.

Udostępnij ten post


Link to post
Share on other sites

@daniel89 Problem był taki że nie wiedziałem o jaki plik chodzi, nigdy nie robiłem czegoś takiego 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

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

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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. 

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...