Aus RN-Wissen.de
Wechseln zu: Navigation, Suche


Ein Boot-Loader ist eine spezielle Software, die gewöhnlich im Rom bzw. Flash sitzt oder vom Betriebsystem geladen und anschließend ausgeführt wird. Der Boot-Loader lädt dann weitere Teile des Betriebssystems (gewöhnlich einen Kernel) oder ein Hauptprogramm.

Bei den Atmel Controllern (AVR Mega8, Mega32 usw.) kann ein Teil des Flash Speichers für einen eigenen Bootloader reserviert werden. Dieser Bootloader kann automatisch bei einem RESET des Controllers ausgeführt werden, dies kann über die Fusebits eingestellt werden.

Mit den zwei Fusebits BOOTSZ (für Bootsize) kann die Grösse des Bootsektors eingestellt werden, gemessen wird immer vom oberen Speicherende nach unten. Je nach Grösse ändert sich auch der Startpunkt nach einem RESET falls das Fusebit BOOTRST ausgewählt wurde. Um den Bootsektor sowie auch den Programmspeicher vor ungewolltem überschreiben zu schützen, sind vier Boot Loader Lock Bits (BLB) vorgesehen, diese können die jeweiligen Bereiche mit einem Schreib-/Leseschutz versehen. Diese Lock Bits verhindern aber nicht das auslesen oder neu beschreiben über ISP.

Die LockBits können entweder über ISP oder aber auch per Software direkt vom Programm aus gesetzt werden, zurücksetzen kann man sie aber nur durch einen sogenannten Chip Erase, bei dem auch der ganze Speicher des AVR gelöscht wird.

Programmspeicher im AVR


Oft wird dies genutzt, um einen Controller auch per RS232, Infrarot oder Funk programmieren zu können.

Für das AVR Board RN-Control findet man im Roboternetz-Downloadbereich einen geeigneten Bootloader.


http://www.microsyl.com/megaload/megalo1.jpg

Leider funktionierte oben genannter Bootloader im Test nicht mit den üblichen Funkmodulen. Es gibt nun aber einen neuen Bootloader der offenbar recht gut auch die Programmierung per Funk erlaubt, siehe Weblinks



Weblinks