Forum: Mikrocontroller und Digitale Elektronik Olimex STM32 LCD - Tod? Bootloader überschrieben?


von Rainer Brüning (Gast)


Lesenswert?

Hallo,

ich nutze das Olimex STM32 LCD mit dem STM32F103ZE Prozessor um meinen 
aus Matlab/Simulink generierten Code zu testen. Dazu nutze ich das 
RapidSTM32 Blockset 
(https://www.aimagin.com/learn/index.php/Learn_RapidSTM32_Home).

Um den Code aus Simulink heraus erstellen zu können, muss ich die 
entsprechende CPU wählen des µC wählen. Und genau hier habe ich leider 
(nachdem es 1000 mal gut gegangen ist) einen schwerwiegenden Fehler 
begangen.
Statt der STM32F103ZE habe ich die STM32F103RE Cpu gewählt.

Nachdem ich den mit dieser Hardwareauswahl erstellten Code erfolgreich 
auf mein Olimex STM32 LCD geflasht habe (via STLink/V2 und Keil 
uvision), findet Keil uvision das Board nicht mehr. Der Debugger erkennt 
das Board garnicht mehr. Das Board läuft aber.. Quarz schwingt passend 
und auch sonst scheint alles ok.

Kann es sein dass ich durch die falsche Einstellungen den Standard 
Bootloader überschrieben habe?
Gibt es eine Möglichkeit den Bootloader wieder neu aufzuspielen?

Was könnte sonst noch ein Problem sein?

Danke euch für Eure Hilfe!

Schöne Grüße
Rainer

von frame (Gast)


Lesenswert?

Olimex schreibt keinen Bootlader auf dieses Board, zumindest nicht auf 
meines ... Wenn du den generellen STM32-integrierten meinst, der ist im
ROM, und glücklicherweise nicht überschreibbar.
Wahrscheinlich läuft dein Programm auf dem "falschen" uC Amok, und 
findet
sich nach kurzer Zeit im Hardfaulthandler wieder.

Die übliche Methode zur Aktivierung des STM32-Bootloaders ist in ST-
Appnotes beschrieben. Dazu sind an die Pins BOOT0 und BOOT1 bestimmte
Pegel zu legen (eines L, eines H - die genaue Zuordnung habe ich jetzt
vergessen, steht aber in der ST-Doku.)

Ist der Controller im Bootloadermodus, kannst du mit einer 
entsprechenden
Applikation den Flash löschen (Flash Loader Demonstrator). Mir ist es in
solchen Fällen manchmal auch mit dem ST-Link Utility gelungen. Dafür
würdest du allerdings ein ST-Link (oder Discoveryboard) und einen
SWD-auf-JTAG Adapter benötigen.

von Rainer Brüning (Gast)


Lesenswert?

Hallo frame,

erstmal vielen vielen Dank für die aufschlussreiche Antwort!

Was genau muss ich dann im Flash Loader Demonstrator machen? Hierzu muss 
ich doch das Board per Usart programmieren oder?

Schöne Grüße
Rainer

von frame (Gast)


Lesenswert?

"Was genau muss ich dann im Flash Loader Demonstrator machen?"

Den Flash löschen (mass erase).
Ich habe das Tool selbst nur einmal benutzt, und das ist schon
ein ganzes Stück her.
Wenn du auf der ST-Webseite nach "UM0462" sucht, wirst du die
Beschreibung finden (Dateiname CD00171488.pdf). Ist übrigens
eine Windows-Software, was sie mir etwas unsympathisch macht.
Sie kann aber auch ein gesetztes Leseschutz (Readout-Protection)
rücksetzten, sofern überhaupt möglich.

Ich hoffe, das hilft dir weiter.

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.