Der Bootloader, der derzeit auf den offiziellen Arduino Nano-Boards ausgeliefert und über die Tools> Prozessor> ATmega328P der Arduino IDE ausgewählt wird, nachdem Tools> Board> Arduino Nano ausgewählt wurde, ist dieselbe Version von Optiboot, die von Arduino / Genuino Uno verwendet wird:
https://github.com /arduino/ArduinoCore-avr/blob/master/boards.txt#L152
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt#L72
uno.bootloader.file=optiboot/optiboot_atmega328.hex
Der über Tools> Prozessor> ATmega328P (Alter Bootloader) ausgewählte Bootloader ist der Bootloader "ATmegaBOOT" .
Wie in der Nano-Hardwaredefinition verwendet, gibt es zwei signifikante Unterschiede zwischen den beiden Bootloadern:
- Optiboot geht nach einem Watchdog-Reset nicht in eine Endlos-Reset-Schleife. ATmegaBOOT wird .
- Optiboot erwartet die Upload-Kommunikation bei 115200 Baud . ATmegaBOOT, 57600 . Dies ist der Grund, warum die alten Karten nicht mit der Auswahl Extras> Prozessor> ATmega328P funktionieren und umgekehrt.
Es gibt einen weiteren sehr signifikanten Unterschied zwischen den beiden Bootloadern, von dem Sie mit der neuen Arduino Nano-Board- / Hardware-Definition leider nicht profitieren werden: Optiboot passt in einen 0,5-kB-Boot-Bereich, während ATmegaBOOT einen 2-kB-Boot-Bereich benötigt. Leider hat Arduino vergessen, die BOOTSZ-Sicherung entsprechend auszutauschen, und so ging die Möglichkeit, 1,5 kB wertvollen Flash-Speicher für die Benutzer des Nano freizugeben, verloren. Die Bereitschaft von Arduino, wissentlich fehlerhafte Hardware freizugeben, hat einen historischen Präzedenzfall .
Ich konnte keine Versionshinweise zum Bootloader finden.
Die Versionshinweise von Arduino haben sich noch nicht an die Tatsache angepasst, dass Hardwarepakete seit Arduino IDE 1.6.2 unabhängig von IDE-Versionen veröffentlicht werden können. In den IDE-Versionshinweisen für die nächste IDE-Version finden Sie einen Hinweis zur Bootloader-Änderung:
https://github.com/arduino/Arduino/commit/ec179e5af67b7f1eeb5e46d22034798f8b24b7cb
Ansonsten können Sie den Commit-Verlauf einsehen:
https://github.com/arduino/ArduinoCore-avr/commit/1b14cc07331268e95eddcce2cc67e29ed667e62f
???/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
und der neue???/bootloaders/optiboot/optiboot_atmega328.hex
-???
hängt von Ihrem System ab, sollte aber leicht zu finden sein - online, siehe github.com/Optiboot/optiboot