Hallo, bei den Linkerskripten der STM32-Peripherie-Bibliothek bin ich in den GCC-Skripten auf diese Konstante gestoßen: 0xF1E0F85F. Die wird offensichtlich als Interruptvektor benutzt, hat den Namen "BootRam" und als Kommentar steht dort: "This is for boot in RAM mode". Kann mir jemand erklären, was das genau bedeutet? Im folgenden Thread wurde schon mal kurz darauf eingegangen, aber leider funktioniert der Link, den "Heinz" genannt hat, nicht mehr: Beitrag "Wie funktioniert der ARM cortex M3?" Auch mit Google finde ich zwar mit dem Suchstring "Reset error after vector table remapped" einen Link zu einem ST-Forumsbeitrag, aber der existiert nicht mehr, auch nicht im Cache. Für Erleuchtung wäre ich sehr dankbar.
Sieht wie etwas aus, das STMicroelectronics selbst erfunden hat. Also sollte etwas im Datenblatt oder User manual des µC dazu stehen. Bei meinem LPC1768 gibt es diesen magischen Wert nicht.
Wenn ich das richtig sehe, ist das eine ARM-Instruktion:
1 | .equ BootRAM, 0xF1E0F85F |
Laut http://www.simplemachines.it/doc/arm_inst.pdf (Seite 65) ein Software-Interrupt (SWI) Grüße, Sven
Danke für Eure Antworten. Dass es sich um eine STM32-Spezialität handelt, ist mir klar. Es hat wohl irgendwas mit dem RAM-Bootmodus zu tun, nur wird es eben nirgendwo erklärt (auf Antwort von ST warte ich noch). Dass es sich um eine Instruktion handelt, glaube ich nicht, da es im Linkerskript in den Interrupt-Vektoren steht, und da sind nur Adressen. Die Adresse 0xF1E0F85F liegt im hersteller-spezifischen Bereich.
Meine Güte, nicht mal mehr suchen können die Leute heute: https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/DispForm.aspx?ID=13240
Vielen Dank! Du hast Recht, ich war tatsächlich zu blöd um das zu finden.
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.