AVR Bootloader

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Basisinformation

http://ww1.microchip.com/downloads/en/Appnotes/Atmel-8242-XMEGA-Boot-Loader-Quick-Start-Guide_ApplicationNote_AVR1605.pdf

https://web.archive.org/web/20140803113418/http://www.atmel.com/Images/doc7618.pdf

Vorsicht bei diesem Artikel, da steht ziemlich viel Verwirrendes/Unzutreffendes drin.

Bootloader Code

Am Beispiel ATmega328(P) Den Bootloader für diesen Typ findet man im Sourcecode und als kompilierte Version (.hex) unter hier. Im Installationsverzeichnis der Arduino IDE auch im /hardware/arduino/avr/bootloaders/atmega zu finden.

ATmegaBOOT_168.c

ATmegaBOOT_168_atmega328.hex

ATmegaBOOT_168_diecimila.hex

ATmegaBOOT_168_pro_8MHz.hex

ATmegaBOOT_168_atmega1280.hex

ATmegaBOOT_168_atmega328_pro_8MHz.hex

ATmegaBOOT_168_ng.hex

Makefile

Wie diesem Artikel zu entnehmen ist, wurde der (Original-)Bootloader des Nano ab Januar 2018 von o.g. Bootloader zu Optiboot geändert. Dies erklärt auch in der Arduino IDE mit der Boardauswahl 'Nano' die Menüauswahl Werkzeuge->Prozessor-ATmega328P (ab 01/2018)und ATmega328P(Old Bootloader bis 01/2018).


Man findet unter /hardware/arduino/avr/bootloaders/optiboot folgendes:

Makefile

boot.h

omake

optiboot.c

optiboot_atmega168.lst

optiboot_atmega328.hex

optiboot_atmega8.hex

pin_defs.h

README.TXT

makeall

omake.bat

optiboot_atmega168.hex

optiboot_atmega328-Mini.hex

optiboot_atmega328.lst

optiboot_atmega8.lst

stk500.h

Wer tiefer in die Booloader-Programmierung einsteigen möchte findet hier einen sehr gelungenen Artikel.

Bootloader auslesen

Bootloader schreiben