AVR Bootloader: Unterschied zwischen den Versionen

Aus TippvomTibb
Zur Navigation springen Zur Suche springen
Zeile 10: Zeile 10:
 
Am Beispiel ATmega328(P)
 
Am Beispiel ATmega328(P)
 
Den Bootloader für diesen Typ findet man im Sourcecode und als kompilierte Version (.hex) unter [https://github.com/arduino/ArduinoCore-avr/blob/master/bootloaders/atmega/ hier]. Im Installationsverzeichnis der Arduino IDE auch im /hardware/arduino/avr/bootloaders/atmega zu finden.
 
Den Bootloader für diesen Typ findet man im Sourcecode und als kompilierte Version (.hex) unter [https://github.com/arduino/ArduinoCore-avr/blob/master/bootloaders/atmega/ hier]. Im Installationsverzeichnis der Arduino IDE auch im /hardware/arduino/avr/bootloaders/atmega zu finden.
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div class="mw-collapsible-content">
 
ATmegaBOOT_168.c
 
ATmegaBOOT_168.c
 
              
 
              
Zeile 26: Zeile 27:
 
          
 
          
 
Makefile
 
Makefile
 
+
</div></div>
 
Wie diesem [https://www.heise.de/make/artikel/Arduino-Nano-mit-neuem-Bootloader-4011641.html 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).
 
Wie diesem [https://www.heise.de/make/artikel/Arduino-Nano-mit-neuem-Bootloader-4011641.html 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:
 
Man findet unter /hardware/arduino/avr/bootloaders/optiboot folgendes:
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div class="mw-collapsible-content">
 
Makefile     
 
Makefile     
  
Zeile 63: Zeile 65:
  
 
stk500.h
 
stk500.h
 
+
</div></div>
 
Wer tiefer in die Booloader-Programmierung einsteigen möchte findet [https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung hier] einen sehr gelungenen Artikel.
 
Wer tiefer in die Booloader-Programmierung einsteigen möchte findet [https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung hier] einen sehr gelungenen Artikel.
  

Version vom 2. Januar 2021, 19:08 Uhr

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