Hallo zusammen,
ich versuche grade einen Bootloader für den STM32F4 mit Keil uVision4 zu
erstellen.
Mein Problem dabei ist gar nicht der Bootloader selber, sondern das
Erzeugen des Hexfiles meiner Applikation, die ich später mit dem
Bootloader laden will.
Normalerweise ist die Startardesse des IROM1 bei 0x8000000. Dort liegt
ja jetzt mein Bootloader. Die Firmware soll nun ab Addresse 0x8002C00
beginnen.
Bei einem einfachen Keil-Projekt stelle ich in den Projekt-Settings die
IROM1 Addresse auf den gewünschten Wert und gebe unter Linker die
R/O-Base ebenfalls an dieser Adresse an. Compilieren und alles ist gut.
Das Projekt startet im Debugger und ich kann es auch im Bootloader
programmieren und dieser startet dann das in Keil erstellte und via
Bootloader geladene Testprogramm (LED Blinken).
Soweit , so gut.
Erstelle ich aber ein Projekt in CubeMX und verfahre gleich, dann läuft
noch nichtmal der Debugger. Nicht einmal der ResetHandler wird erreicht.
Stoppe ich den Debugger, steht der PC auf Adresse 0xFFFFFFFF.
Gibt es etwas, an das ich nicht gedacht habe, z.B. Adressen der
Interrupt-Vector-Tabelle etc. und wenn ja wo kann ich das einstellen?
Weiss jemand, warum das nur im Zusammenhang mit CubeMX-Projekten
auftritt?
Wäre für Hilfe dankbar.
Gruß, Jörg