Servus! Die Adresse 0x200001E0 wird angeblich beim Booten aus dem RAM benutzt. In der AN2606 wird sie aber nicht erwähnt. Ich hab' auch in mehreren Reference Manuals gesucht. Im Internet finde ich sie an genau 2 Stellen: https://www.mikrocontroller.net/articles/STM32#Bootmodi Beitrag "STM32F4 Binärfile ins RAM schieben" Wenn man das Programm im RAM auf 0x20000000 linkt, liegt 0x1E0 * beim H7 und F7: mitten in den Interrupt-Vektoren * beim L476: direkt dahinter (sehr verdächtig!) * bei kleineren M3 und M4: irgendwo dahinter * bei den M0: praktisch mitten im RAM (die haben ja sehr wenig davon) Wenn man den eingebauten Bootloader benutzt, kann man 0x200001E0 nicht beschreiben, weil das mitten im Bootloader-RAM ist. In meinem Programm würde ich gern eine struct auf eine feste Adresse legen und dabei stört diese 1E0. Kennt evt. jemand das Geheimnis?
eagle user schrieb: > In meinem Programm würde ich gern eine struct auf eine feste Adresse > legen und dabei stört diese 1E0. Kennt evt. jemand das Geheimnis Vermutlich gilt das nur für bestimmte STM32- Familien. Liesst sich für mich wie eine Krücke für schlecht designte Debug-Interfaces, denn mit dem normalen ARM ADI kann der Debugger Code im RAM direkt ausführen. Ich würde mal in der passenden Family Referenz nach den Boot Pins suchen. Außerdem kann man die Addresse offenbar frei verwenden, sobald man nicht aus dem RAM bootet - und man will eigentlich immer vom Flash booten.
Jim M. schrieb: > Vermutlich gilt das nur für bestimmte STM32- Familien. Wohl nur bei den ersten Mustern der allerersten F1xx oder so. > Ich würde mal in der passenden Family Referenz nach den Boot Pins > suchen. Bei allen Chips, die für mich passen, finde ich nichts. Wahrscheinlich müsste man nicht bei ST sondern bei ARM suchen, aber die halten die interessanten Sachen ja unter Verschluss.
eagle user schrieb: > Wahrscheinlich > müsste man nicht bei ST sondern bei ARM suchen, Nein, das mit den Boot Pins ist STM-exklusiv, auch wenn manche andere Hersteller ähnliche Ideen hatten. eagle user schrieb: > bei ARM suchen, aber die halten die > interessanten Sachen ja unter Verschluss. Auch nicht korrekt. Arm Silver Access gibt es gegen die Email und Abnicken der Lizenz. Und da ist die komplette Core- und Debug-Doku mit drin, wo alle Bits beschrieben sind. Nur ist alles außerhalb von Core und Debug Einheit bei Cortex-M Sache des Chipherstellers. Das betrifft z.B. auch RAM, Flash, GPIO und Boot Pins.
Inzwischen weiß ich, wer am 11.01.2013 diesen Absatz in den Artikel eingefügt hat[1]. Wenn @::ffff:88:67:69:218 das Rätsel jetzt bitte auflösen würde, das wäre toll ;) [1] https://www.mikrocontroller.net/wikisoftware/index.php?title=STM32&type=revision&diff=70786&oldid=70778
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.