EMBEDDED PROJECTS JOURNAL
100% frei und kostenlos,
als PDF und in gedruckter Form,
per Open Source Lizenz
AVR-RISC (Infos)
Embedded Software selbst entwickeln
(inkl. Absatz über USBprog)
AVR-Starterkit für 61,90 EUR
Quicklinks: Home | Online Firmware Pool | Shop
     

USBprog Bootloader (Konzept und Bedinungshinweise)

Benedikt Sauter, 4.11.2007, sauter@ixbat.de

Der Bootloader bietet die Plattform für das einfache Austauschen der Firmware an. Da es mit der ersten Version des Bootloaders unter Windows immer wieder Probleme gab, wurde der neue Bootloader weiterentwickelt.

Mehr zur Bedienung und zum Konzept gibt es in den unteren Abschnitten der Seite.

 

 

Status

Keine Fehler oder Probleme bekannt.

Downloads

  • Bootloader (hex)
  • Bootloader (bin)
  • Quelltextarchiv (svn)
ACHTUNG beim neuen Bootloader muss lfuse auf 0xe0 und hfuse auf 0xd8!!!

Konzept 

Ursprünglich sollte der Bootloader einfach bequem per PC-Programm aktiviert werden können. Unter GNU/Linux klappt das auch einwandfrei. Mit Windows gibt es leider viele Probleme. Das liegt wohl am Treiberstack von Windows. Unter GNU/Linux kann man beispielsweise mit der Bibliothek libusb ohne extra Treiberinstallation auf jedes angeschlossene USB-Gerät zugreifen. In Windows muss man, wenn man mit der Bibliothek libusb arbeitet, dennoch einen Treiber für jedes Gerät unter der libusb installieren. Und das war eine beliebte Quelle für Fehler. Oft erkennt Windows nicht, welchen Treiber es laden muss, wenn während des Betriebs die Firmware und somit die Bezeichnung für das USB-Gerät gewechselt hat. Aus diesem Grund kann man jetzt den Bootloader manuell per Jumper starten. Dadurch kommt es zu diesem Problem nicht mehr, dass während der Session eines Geräts die Kennung wechselt und Windows einen Treiber umladen muss. Im nächsten Abschnitt wird erklärt, wie der Bootloader verwendet wird.

 
Abb. USBprog TX,RX Jumper: Bootloader Start-Jumper

Bedienungshinweise

Der Bootloader kann jetzt mittels eines Jumpers gestartet werden. Ist beim Anstecken von USBprog ein Jumper zwischen TX und RX, wird der Bootloader gestartet. Wenn der Bootloader aktiv ist, blinkt die Leuchtdiode in einem bestimmten Rythmus:  ..lang aus - kurz an - kurz aus - kurz an - kurz aus - lang aus.

Nach dem der Bootloader gestartet worden ist, kann entweder mit dem grafischen oder konsolen Programm die Firmware ohne Probleme gewechselt werden. Der Jumper sollte danach wieder entfernt werden, da sonst immer erst der Bootloader und nicht die frisch eingespielte Firmware startet. 

Linux:

Unter Linux kann der Bootloader weiterhin ohne den Jumper, also per USB gestartet werden.

Windows:

Mit einigen Windowsinstallationen kann ebenfalls ohne Jumper, also per USB der Bootloader gestartet werden (mittels Flashtools). Aber bei vielen Windowsversionen macht dies nur Probleme. Bei diesen Versionen sollte immer so vorgegangen werden:

  • erst  Jumper setzen
  • dann USBprog anstecken
  • mit einem Flashtool eine Firmware auswählen und übertragen
  • USBprog abstecken
  • Jumper entfernen
  • USBprog anstecken

Tipps 

  • Die Leitungen TX und RX können dennoch weiterhin in Firmwares (wie z.B. im USB zu RS232 Wandler) verwendet werden. Beim Starten sind die beiden Leitungen als UART aktiv, das heisst mit dem Setzen des Jumpers baut man sich sozusagen eine Nullmodem Kabelverbindung. Der Bootloader überträgt ein bestimmtes Zeichen und prüft ob er das auch wieder empfangen hat, wenn das der Fall ist, wird der USB Bootloader Modus aktiviert.

 

 © 2007 by Embedded Projects, Benedikt Sauter