Forum: Mikrocontroller und Digitale Elektronik Seltsame Konstante in STM32-Linkerskript


von Xenu (Gast)


Lesenswert?

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.

von Turbo J (Gast)


Lesenswert?

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.

von Sven Wagner (Gast)


Lesenswert?

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

von Xenu (Gast)


Lesenswert?

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.

von Oberlehrer (Gast)


Lesenswert?

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

von Xenu (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.