Hallo, ich muß einen Bootloader für einen 80C552 erstellen, habe aber leider keine Ahnung wie so etwas geht. Also hier ist mein System 80C552 da ist via GAL ein EEPROM angeschlossen wo jetzt meine Appl läuft. Jetzt wurde ein Flash dazu gebaut in dem das neue Programm rein soll. Wie setzt man das jetzt auf? Ich denke man legt eine Sedquenz in den Bootbereich 2K die auf die Schnittstelle hört! Kommt was wird dies in den Flash geschrieben. danke für eure hilfe miho
> 80C552 da ist via GAL ein EEPROM angeschlossen wo jetzt meine Appl läuft Das heißt nach dem RESET läuft das Program in deinem System ab. Genau hier herein gehört nun dein Boot loader (RESET @ 0000H). > Jetzt wurde ein Flash dazu gebaut in dem das neue Programm rein soll. Ab welcher Adresse ? mal unterstellt es liegt auf 8000H, dann muß dein Programm natürlich angepasst werden. Der Bootloader startet also und lauscht auf der RS232 wie von dir vermutet. Dann sendest du dein INTEL.HEX file via serieller Schnittstelle und der Boot loader schreibt es in dein Flash ab Adresse 8000H. Anschließend muß der Bootloader dein Programm ab 8000H starten. Alles verstanden ?
Ist das jetzt nur rein aus Spaß an der Freude oder soll das etwa immer noch praktisch verwendet werden ? Von Atmel gibts nämlich schon lange 8051-er mit Bootloader drin. Auch kann man seinen eigenen Bootloader reinbrennen, der dann über API-Calls den Anwenderbereich programmiert. Der große Vorteil ist, daß man die Anwendung nicht extra ummappen muß, sie kann ganz normal auf 0x0000 gelinkt werden. Wo nach dem Reset hingesprungen wird, wird einfach in das Bootvektor-Byte programmiert. Da man nun keinen externen Speicher mehr braucht sind auch alle 32..48 Portpins frei verfügbar. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.