\section*{Vorwort}

Etwas intensiver habe ich mich mit den AVR-Bootloadern beschäftigt,
als der Wunsch von Nutzern aufkam, die Transistortester-Software
auf einigen Platinen der Arduino Familie zum Laufen zu bringen.
Natürlich läuft die Software nicht als Arduino Sketch.
Die Arduino Entwicklungsumgebung wird lediglich zur Darstellung
von Ausgaben über die serielle Schnittstelle benutzt.
Die Transistortester-Software benutzt auch nicht die Arduino Bibliothek.
Das ist auch gar nicht notwendig, um den Bootloader zu benutzen.


Der Bootloader ist ein kleines Programm, welches Programm-Daten 
über eine serielle Kommunikation von einem Host (PC) entgegennehmen kann
und in den Arbeitsspeicher des Mikrocontrollers laden kann.
Da die Transistortester-Software ziemlich viel Programmspeicher
braucht, sollte der Bootloader nur wenig vom Programmspeicher für
sich selbst belegen.
Außer dem Programmspeicher sollte der Bootloader auch den anderen
nicht flüchtigen Speicher des AVR beschreiben können, das EEprom.
Damit war die Zielsetzung klar. Es sollte ein Bootloader her,
der auch das Beschreiben des EEproms unterstützt, aber wenig
Flash-Speicherplatz benötigt.

