STM32F107 チップを使用して C で開発を行っていますが、ある時点で、特定の関数を呼び出すとデバイスがリセットされ始めました。私はデバッガーを持っておらず、デバッグはシリアル ポート経由のプレーン テキストのみです。
レジスタにアクセスしてリセットの原因を確認できる他のマイクロコントローラをいくつか使用しましたが、このデバイスに相当するものが見つからないようです。Cortex-M3 のハードウェア例外は認識していますが、これらのハンドラー内にいるときは usart 経由でテキストを送信できないように見えるため (おそらく私の TX関数は割り込みを使用しますか?)。
そこで、このデバイスで私よりも経験豊富な人に尋ねることにしました: 通常、このような状況をデバッグするために何が行われますか?
編集
開発者の 1 人が WWDG ウォッチドッグをアクティブにし、障害ハンドラーから情報を取得する前にハードウェアをリセットしていました。間違った場所を指しているポインターによって関数を呼び出すことによるハード フォールトでした。ただし、ハード フォールト (@dwelch のアイデア) に保存されているレジスタから C コードを参照するための詳細 (またはそれに関する資料) を誰かが提供してくれることを期待して、この質問を続けます。