Inhaltsverzeichnis
OSD Bootloader
Der OSD Bootloader wird über die serielle Schnittstelle ( TXD0,RXD0 ) mit dem Arduino-Protokoll angesprochen, z.B. mit Programmen wie AVRDUDE unter Linux oder WINAVR unter Windows. Nach dem Start wird der Bootloader gestartet, die LED blinkt( PE5-300Ohm-LED-VCC ). Danach wartet der Bootloader für 5 Sekunden auf Befehle. Wenn in dieser Zeit keine Programmierung erfolgt, startet der Bootloader das im Flash befindliche Userprogramm.
Programm mittels AVRDUDE flashen
AVRDUDE installieren
sudo apt-get install avrdude # on Debian/Ubuntu pacman -S avrdude # on Arch
alternativ selbst kompilieren
apt-get install bison flex wget http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz tar xf avrdude-6.3.tar.gz cd avrdude-6.3 ./configure make sudo make install
Device Programmieren
Flash and EEPROM:
sudo avrdude -pm128rfa1 -c arduino -P/dev/ttyUSB0 -b57600 -e -U flash:w:userprogram.hex:a -U eeprom:w:userprogram.eep:a
für die 128KB Version und für die 256KB Version:
sudo avrdude -pm256rfr2 -c arduino -P/dev/ttyUSB0 -b57600 -e -U flash:w:userprogram.hex:a -U eeprom:w:userprogram.eep:a
Die Port Nummer /dev/ttyUSB0 muss eventuell für das jeweilige System angepasst werden. Nach anstecken am USB-Port in der Ausgabe diese Befehls ersichtlich:
dmesg
Bootloader Quellcode
To-do-Liste OSD-Bootloader V2.0 (Bonsai)
Auf unseren Funkmodulen ist die zu verwendende EUI-64 MAC Nummer aufgedruckt. Um diese Nummer Contiki-OS zur Verfügung zu stellen, wird diese durch den Bootloader bereitgestellt.
- IEU-64 in Bootloader als CONST Speichern (OK)
- Bootloader um „BIOS“ Funktionen erweitern (OK)
- Jump Tables stellen Funktionen bereit (OK)
- F1 → „get_mac()“ → get EUI-64 Adresse (OK)
- F2 → ?
Durch die Verwendung einer Jumptable sind die Funktionen auch bei zukünftigen Änderungen des Bootladers immer über die gleiche Einsprungadresse verfügbar.