ポストモーテム・ダンプ できた

出来たのは出来たのですが、いろいろと問題があります。
最初の問題は、ハードウェア・エラーの取り扱いに関わります。ハードウェア・エラーはIDLE命令中に検出できません。一方で、IDLE命令を使わない場合は消費電力が増大してしまいます。
そこで、ハードウェア・エラーの検出を指示するマクロ USE_HW_ERRORを用意したのですが、これを指定しない場合に、dispatch_interrupt()関数の中でハードウェア・エラーを無視するという行きすぎた決定をしていました。また、INHNO_HW_ERRORも定義されません。間違いを明示的に示せるようにと配慮したつもりですが、非常に硬直的になってしまいました。将来のリリースで緩和するか、別のマクロを定義します。
結局、現状ではハードウェア・エラーをソフトウェア割り込みでキャッチすることにしました*1
もう一つ、GCCの最適化が巧妙すぎて困っています。FPをたぐって割り込みコンテキストが保存された場所を特定するのですが、link/unlinkペアの外で関数が呼ばれる場合があり、そうなるとFPをたぐる回数が変動します。短期的には方便で逃げていますが、抜本的な解決となると、はなっからFPの値を変数に書き込むなどの方針変更を図った方がいいかもしれません。

*1:dispatch_interrupt関数の仕組みがそうなっている