<
Projekte PIC Bootloader |
Bootloader für Enhanced Midrange PIC Microcontroller | |
BeschreibungProtokollPC-ToolDownloadKonfigurationApplikation |
Bootloader für Enhanced Midrange PIC Mikrocontroller(Hinweis: Dieser Bootloader ist nicht für das "klassische" PICALIC-Projekt geeignet, da dessen Controllertypen nicht zur Enhanced Midrange Familie gehören!) Funktion:Der Bootloader ermöglicht es, ohne Verwendung eines speziellen Programmiergerätes, ein Anwenderprogramm (die "Applikation") in den Speicher des Mikrocontrollers zu übertragen. Dazu ist lediglich eine Verbindung zum Host-Computer über die serielle Schnittstelle notwendig. Nur zur Initialprogrammierung des PICs mit dem Bootloader selbst ist natürlich nach wie vor einmal ein Programmiergerät notwendig. Zwischen dem "PICloader"-Tool auf
dem Host-PC und dem Bootloader auf dem PIC werden die Daten
über eine Signalleitung im Halbduplex-Verfahren
übertragen, so daß ein einzelner I/O-Pin am PIC
für die Kommunikation ausreicht. Optional kann der Bootloader in der
aktuellen Version (0.7) auch für eine klassische Voll-Duplex
Verbindung (Rx und Tx getrennt) konfiguriert werden. Für
einen zuverlässigen Verbindungsaufbau zum Computer ist
möglicherweise ein Pull-Up Widerstand am Tx-Signal vom PIC
notwendig, der die Tx-Leitung im Reset-Zustand (hochohmige I/Os!)
auf High-Pegel zieht. Eigenschaften des Bootloaders
SpeicheraufteilungDer Bootloader kann wahlweise am Anfang oder in einem hohen Adressbereich im Flash abgelegt werden. Im ersten Fall muss der Applikations-Code dann für eine Startadresse hinter dem Bootloader-Code erzeugt werden (üblicherweise 0x100). Der Interrupt-Vektor (0x004) wird per goto-Befehl direkt an die entsprechende Adresse (0x104) der Applikation weitergeleitet, wodurch sich die Laufzeit der Interrupt Service Routine um zwei Befehlszyklen verlängert. Wenn der Bootloader im oberen Bereich des Speichers angesiedelt ist, belegt die Applikation den gleichen Speicher, wie ohne Bootloader, d.h. der gleiche Applikationscode kann unverändert sowohl in einen PIC mit Bootloader, als auch (mit geeignetem Programmiergerät) in einen PIC ohne Bootloader geladen werden. Da die Interrupt Service Routine nicht gepatched werden muss, gibt es hier auch keine Laufzeitverlängerung. Das PC-Tool ("PICloader") modifiziert die ersten Befehle der Applikation, so daß der Resetvektor in den Bootloader zeigt und dieser dann in die Applikation startet. |
|
Kontakt |