NOINIT RAMにカーネルログを作成して、再起動後も保存できるようにしました。当初の目標は、割り込みが無効になっている間にウォッチドッグタイムアウトが発生する直前の状態でカーネルログを保存することでした。悲劇的なことに、割り込みは購入したライブラリコードで無効になっていました。NOINIT RAMにあるため、コンソールにダンプして、次回の起動時にSDカード上のファイルに保存できます。これはすべてうまく機能しているように見えますが、ログデータにはいくつかの興味深い異常が不安です。具体的には、一部のログエントリのシーケンス番号またはタイムスタンプが順不同です。ログの大部分にはすべてのタイムスタンプとシーケンス番号が順番に並んでいますが、この情報が順番にずれている可能性がある場合、最後のログエントリ(ウォッチドッグしたアクティブなタスクを指す)を特定できると確信するのは困難です。この情報がログで順序付けられていないのが正常かどうか、誰かが教えてくれますか?
ありがとうございます!
MQXタスク・ウォッチドッグと有効期限機能を使用して問題を解決する別の方法を見つけたので、カーネル・ロギング機能の取り組みは放棄します。カーネルのロギングコードは長い間変更されておらず、問題ないはずだと聞きました。なぜそれが私にはうまくいかなかったのかわかりませんが、それはおそらく何らかの形で私のせいでした。
Linuxフォーラム?これはMQXに関する質問であり、Linuxに関する質問ではありません。