Sto facendo un po 'di sviluppo in C con un chip STM32F107 e, ad un certo punto, il dispositivo ha iniziato a reimpostarsi quando chiamo una funzione specifica. Non ho un debugger e il mio debug è solo testo su una porta seriale.Come eseguire il debug delle reimpostazioni impreviste in un dispositivo STM32?
Ho usato alcuni altri microcontrollori in cui sono stato in grado di accedere a un registro per vedere la causa del reset, ma non riesco a trovare un equivalente per questo dispositivo. Sono a conoscenza delle eccezioni hardware del Cortex-M3, ma non so se uno di questi viene attivato perché non riesco a mandare del testo su usart quando sono all'interno di quei gestori (forse perché il mio TX le funzioni usano le interruzioni?).
Così, ho deciso di chiedere alle persone con più esperienza di me in questo dispositivo: cosa si fa solitamente per eseguire il debug di situazioni come queste?
EDIT
Uno degli sviluppatori attivato il cane da guardia WWDG ed è stato resettare l'hardware prima che potessi ottenere la mia informazioni dai gestori degli errori. È stato un errore grave dovuto alla chiamata di una funzione da un puntatore che puntava verso il punto sbagliato. Tuttavia, terrò questa domanda nella speranza che qualcuno possa fornire maggiori dettagli (o materiale a riguardo) per puntare al codice C dai registri salvati, diciamo, un Hard Fault (idea @dwelch).