Softwarereset STM32F4?

Gast #2805835
Lesenswert?

Die Interruptsoftware des STM32F4.. discovery landet bei einem 
unerwarteten Interrupt bzw. Absturz in einer Endlosschleife. Die würde 
ich gerne durch einen (Software-) reset ersetzen, damit das Programm 
wieder von vorne anfängt.

Hat das schon jemand gemacht?
Ich habe mich mit dem AIRCR-Register gespielt, das hat aber nicht 
funktioniert.
Gast #2806099
Lesenswert?

Nun ja, der STM wird in diesem Fall zu einem exception Vector springen.
Bei ARM ist die Vectortabelle meist in den ersten X Worten des 
Addressbereiches angeordnet.

Jetzt mal einen Blick ins Datenblatt welcher exception Vector bei einem 
unerwarteten Interrupt angesprungen wird.
Dort wird dann eine Adresse hinterlegt an die in diesem Fall  gesprungen 
werden soll.
Und an Diese Adresse legst du eine Funktion die in diesem Fall zb einen 
Reset ausführt, oder zb das Interrupt flag Register auf der Uart 
ausgibt, oder ,........


Oder hinterlege in der Interruptservice Routine eine Default Funktion 
die angesprungen werden soll wenn ein unerwarteter ( nicht 
konfigurierter ) Interrupt auftritt.
Gast #2806101
Lesenswert?

>Die Interruptsoftware des STM32F4.. discovery landet bei einem
>unerwarteten Interrupt bzw. Absturz in einer Endlosschleife. Die würde
>ich gerne durch einen (Software-) reset ersetzen, damit das Programm
>wieder von vorne anfängt.

Ist doch gut das er das macht. Dann weisst du wenigstens
das was faul ist. Also behebe den Fehler und versuch keine
Workarounds.
Gast #2807580
Lesenswert?

Danke mal für die Ratschläge.
Aber manchmal sieht man den Wald vor lauter Bäumen nicht.
Ich arbeite mit der CooCox IDE und nach einem Absturz dauerte eine Reset 
über die IDE recht lang, weil das Programm wieder runtergeladen wird.
Die einfachste Lösung ist aber die Resettaste am board, Programm startet 
von neuem, die IDE funktioniert auch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren