Danke für die Antworten!
> Wenn ich mich recht erinnere, gibt es auf der Freescale-Website eine
> AppNote zu dem Thema.
Werde ich gleich mal nachsehen, ob da auch was für den S12X dabei ist.
> Ist relativ einfach
Naja, das liegt im Auge des Betrachters ;-) Habe mir schon einen
abgebrochen, das S12X FTM (Flash Module) für eine EEPROM Emulation ans
laufen zu bringen...
Ich stelle mir die Funktionsweise meines Bootloaders so vor:
- beim Starten (vor Aufruf der main) ein Flag im EEEPROM abfragen, ob
Applikation oder Bootloader ausgeführt werden sollen.
- Im Normalfall wird Applikation gestartet. Diese kommuniziert über
Parallel <-> USB Wandler mit PC.
- PC sendet irgendwann Kommando über USB, daß der µC im Bootloader modus
starten soll. µC setzt Flag im EEEPROM und führt Reset aus.
- µC startet nach dem Rest den Bootlader (Code am Ende des Flashs).
- Bootloader empfängt über die parallel <-> USB Schnittstelle den
HEX-Code und programmiert diesen in den Flash. Wenn fertig: Flag im
EEEPROM löschen und Reset durchführen.
Kann das so funktionieren oder habe ich etwas übersehen?
Noch eine Frage:
Ich vermute, den Code des Bootloaders an sich kann ich während des
Bootloader modus nicht überschreiben? Wäre es eventuell möglich, im
Applikationsmodus den Bootloadercode neu zu flashen und im Bootloader
Modus den Applikationscode?