USBoot

für USB-Bootloader der PIC18F2550/4550/2553/4553/2455/4455/2458/4458


 zurück zur Software-Seite , Download , Elektronik , Homepage

Einleitung
Der Bootloader
Welche Hardware ist nötig?
Woran erkennt der Bootloader, ob er aktiv werden soll?
Woran erkennt der Benutzer, dass der Bootloader aktiv ist?
Bootloader-Versionen
PIC-Konfiguration
Download
bekannte Probleme
Entwicklungsgeschichte
USBoot-Prorammfenster


Einleitung
Die Software USBoot, kann ohne PIC-Programmiergerät ein HEX-File in einen USB-PIC brennen, wenn sich in diesem bereits ein Bootloader befindet. Der Bootloader ist ein kleines PIC-Programm, das einmalig mit einem anderen Programmiergerät in den PIC gebrannt werden muss.
Details sind an anderer Stelle erläutert.
.



Der Bootloader
Mein Bootloader ist ein leicht modifizierter Microchip-Bootloader. Ich habe das Original so angepasst, das es sich mit der Student-Edition des C18-Compilers compilieren lässt, und dann immer noch so klein ist, dass es in den Boot-Block der USB-PICs passt. Beim Start des PIC prüft der Bootloader zuerst. ob er aktiv werden soll. Wenn das nicht der Fall ist, dann übergibt er die Kontrolle sofort an die Firmware. Damit bleibt der Bootloader normalerweise unsichtbar.

Soll der Bootloader aber aktiv werden, dann übernimmt er die Kontrolle, und meldet das USB-Gerät am PC an, damit die Windowssoftware USBoot in der Lage ist, den Flash-Speicher des PIC via USB zu brennen.


Welche Hardware ist nötig?
Der Bootloader benötigt einen PIC18F2550/4550/2553/4553/2455/4455/2458/4458 mit USB-Anschluss und Quarz bzw. Resonator (4, 8, oder 20 MHz)


Woran erkennt der Bootloader, ob er aktiv werden soll?

Ich habe zwei Möglichkeiten vorgesehen:
1. der Bootloader wird aktiv, wenn die Spannung am Pin 1 (MCLR) Low-Pegel hat.
2. der Bootloader wird aktiv, wenn die EEPROM-Zelle mit der Adresse 0xFE den Wert 0xFF hat

zu 1.
Pin 1 verbindet man über einem Widerstand mit Vdd. Damit liegt es normalerweise auf High-Pegel. Ein Jumper kann Pin 1 mit Vss verbinden, um es auf Low-Pegel zu ziehen. Will man den Bootloader verwenden, dann steckt man zuerst den Jumper, bevor man das USB-Gerät mit dem PC verbindet.

zu 2.
Der Trick mit der EEPROM-Zelle ermöglicht es, den Bootloader durch die Firmware zu aktivieren. Damit entfällt der lästige Umgang mit dem Jumper. Die Firmware muss lediglich die EEPROM-Zelle 0xFE mit 0xFF beschreiben, und dann einen Reset des PICs auslösen. Dann wird sofort der Bootloader aktiv. Der Bootloader-2 unterstützt den EEPROM-Zellen Test nicht.
anklicken zum Vergrößern


Woran erkennt der Benutzer, dass der Bootloader aktiv ist?
Im einfachsten Fall startet er USBoot. Die Software zeigt ihr Hauptfenster nur dann, wenn der Bootloader aktiv ist.
Manche Menschen lieben aber ein optisches Signal.


Bootloader-Versionen:

Es gibt hier mehrere Versionen des Bootloaders, die funktionell alle identisch sind. Unterschiede gibt es nur darin:


LEDs an RB7 LEDs an: RB0 und RC1 keine LEDs
aktiviert durch: Jumper
Bootloader-2 für Experimente
-
-
aktiviert durch: Jumper und EEPROM-Zelle
Bootloader-3 für Experimente Bootloader-0 für Brenner8 Bootloader-5 für USB4all

Jeden Bootloader gibt es jeweils für drei unterschiedliche Quarzfrequenzen des PIC (4 MHz, 8 MHz und 20 MHz).



PIC-Konfiguration:

Die durch den Bootloader nachgeladene PIC-Software hat keinen Einfluss auf die Konfiguration des PIC. Die ist wie folgt festgelegt:




Download

Die aktuelle USBoot-Version V4.0 mit Treiber, Handbuch, Bootloadern, und einer Test-Firmware:


Für Interessierte hier noch das komplette Delphi-Projekt der Version 3.5.



bekannte Probleme

USBoot beschreibt weder den EEPROM noch die Konfiguration des PICs, obwohl das technisch möglich wäre.

Da ich den Microchip-Treiber einsetze,  funktioniert die Software unter WinNT, Win2000, WinXP mit Administratorrechten.
Unter WinVista32 sollte die Software mit dem "alten" Treiber im Kompatibilitätsmodus (WinXP SP1) und mit dem "neuen" Treiber normal funktionieren, ich teste das aber nicht.



Entwicklungsgeschichte
 

USBoot 4.0  (21.05.2012)
- erweiterte Typenpalette

USBoot 3.0  (24.04.2007)
- USBoot bekommt seine eigene Seite auf meiner Homepage
- Praktisches Bündel mit Treiber, Bootloadern, Beschreibung ...

USBoot 1.0  (15.08.2006)
- Urversion


 zurück zur Software-Seite , Download , Elektronik , Homepage
Autor: sprut
erstellt: 24.04.2007
letzte Änderung :  21.05.2012