fangen Ich arbeite mit einem MCF51EM256 Freescale-Mikrocontroller und ich habe einige Probleme mit der Flash-Programmierung.Wie kann ich einen unerwarteten Reset in einem Mikrocontroller
Um meine Software dauerhaft zu machen, versuche ich einige Variablen im externen Flash-Speicher zu speichern, um von unerwarteten Stillständen zu erholen.
Manchmal, wenn ich meine Arbeit herunterfahre, wird die MCU ständig zurückgesetzt. Es wird wahrscheinlich durch einen Fehler beim Schreiben einer Flash-Adresse während des Herunterfahrens verursacht, der danach nicht in der Lage ist, richtig zu lesen.
Meine Frage ist, gibt es eine Möglichkeit, diese schwerwiegende Ausnahme zu fangen, die den Reset in meinem Mikro verursacht?
Wenn es ein Wachhund ist, wahrscheinlich nicht. Können Sie andernfalls einen Haltepunkt auf den Reset-Vektor setzen und/oder einen Reset-Handler installieren, der einen Stack/Register-Dump ausführt? –
Wenn der Flash-Datenspeicher aufgrund von "normalen" Softwareentwicklungsproblemen beschädigt ist, sollten Sie die fehlerhaften Daten erkennen und eine Fehlerinformation ausgeben oder zwei Bänke verwenden, sie CRCs schreiben und sie abwechselnd verwenden oder andere verwenden Fehlerminderungsstrategie. –