Hallo, Ich versuche grade eine Art Bootloader auf einem LPC1768 zu schreiben. Ich habe es so weit zum laufen bekommen, das der Bootloader (startet von Adresse 0x00000000) das Hauptprogramm an Adresse 0x00020000 starten kann. Das Hauptprogramm verhält sich solange normal, bis der erste Interrupt kommt. Dann scheinen die Handler aus dem Bootloader aufgerufen zu werden. Ich habe den Offset 0x00020000 in das VTOR Register geschrieben, aber anscheinend wird das ignoriert. Ich habe auch schon versucht die Vector Table in den SRAM an die Stelle 0x20080000 zu verschieben, aber das hat auch nichts gerbracht. Was ich vielleich noch dazu sagen muss ist, dass das Hauptprogramm, wenn es für Startadresse 0x00000000 compiliert wird und von da aus ausgeführt wird, problemlos lauft. Ich hoffe, das hier jemand ne Idee hat, warum es bei mir nicht läuft. Grüsse, Stephan
Gast
#2245000
Ist dein Booloader wirklich 128kB groß? Wieviel Flash hat dein uC?
Der macht schon etwas mehr als ein normaler Bootloader. Der ist etwa 80kb gross. Der LPC1768 hat insgesammt 512 kb Flash. Ausserdem sind nochmal 4 Mb externer Flash drann.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.