> 成る程実行TASKのCPU時間を計ると言う事ならタイマー割込み其の物から > 実行時間を観測する事でオーバータイム等を検出できると言う事ですね。 そうです。 > 確かに今ITRON V3の仕様書を改めて捜しましたが実行中のTASK IDを直接 > 取得する手段が無いのでもしITRON上からやるとすればref_tskを総当たり > でやるか、直接TASKコントロールブロックからIDを取得できる様にOSに改 > 造が必要でしょう。総当たりならそのオーバーヘッドが気になるし、OSの > 改造ならソースを提供してもらう必要が有りますね。 カーネルを改造、あるいはカーネルがそのようになっていれば異常のあるタスクを名指 しできますが、それができないとしてもWDCを共有すれば検出したかどうかの情報だけは 得られます。 # って、これは山中さんの案そのものですな。たはは。 > 所でITRONを使った場合ですが仮にタイマー割込み中からオーバータイムを > 検出したとして割込み終了後にCPUの実行件を握ったまま固まっているTASK > からディスパッチが発生するのでしょうか? > もしかしてそこの部分も含めて改造またはOSの自作が必要? > 結局組み込みなら異常が検出された時点で必要なら外部に報告し、リセット > せざるを得ない状況の方が殆どと思うのですが。 対象タスクより高い優先度のタスクを起動するなら禁止されてなければディスパッチさ れますし、割り込みハンドラ内で無限ループに突入しておけばそのうちWDTが見つけて くれます。 タスクを名指しできればそのタスクを叩き落としてから再起動する事もできますし、何 よりリセットというのならWDTに見つけて貰うなり... > で、MMUの方はそこまで行く前に何とかカーネルが動くだけの余地を残して > いるだけだと思うのですが。 俺MMUの話なんかしたっけ? 携帯電話の例ならシステム領域が壊されてシステムごと飛んだりしないようにする&セキ ュリティホールを塞ぐのが目的だと思うけど。 舘野雄治<webmaster@xxxxxxxxxxxx> たろすけの部屋<http://www.tarosuke.net/>