(toppers-users 675) TOPPERS の移植経過と質問。

koizumi yoshiyuki.koizumi @ toshiba.co.jp
2002年 12月 16日 (月) 23:16:38 JST


koisanです。

 MIPSへの移植を進めています。割り込みハンドラとディスパッチを、それ
なりに作成して、例題をそのまま実行しています。最初にLogタスクが動作する
ので、Log用のUARTドライバの割り込み処理当たりをデバッグしていま
す。一応タスクは起動でき、割り込みハンドラに制御が移ってきたみたいです。

 直接困っているわけでは有りませんが質問が有ります。

1 最初にlogタスクが動作しているが、タスクの初期起動順序はITRON
(TOPPERS)としては定義されていないのか?
 常識的にはタスクのクリエイト順だと思っていたが、なぜかクリエイトの順と
は逆みたい。(.cfgの記述順がクリエイトの順と考えています) 初期化はクリ
エイト順ですね、こちらが守られていればタスクの起動順はどうでも良いとは思
うが。

2 デバイス番号が0からではなく、1から始まっているが、ITORNでは常識で
しょうか。

3 serialドライバのつくりが、動作はするでしょうか重い気がします。
 割り込みハンドラのin,out駆動が初期フラグで起動している。異なるシリアル
の割り込みでもin,outのルーチンが動作してしまう。誤りというわけでは有りま
せんが、割り込みを使って、割り込みハンドラでserial全チャネルのin,outを
ポーリングするのは気が重いですね。ドライバのエラー処理を考慮した、in,out
の駆動には余分な処理が多い気がします。
 ドライバのワーキングクループの資料を見ると何かわかるのでしょうか。(す
みません、まだ見ていません)

 3つとも、どうでも良いと言えばよい話ですが、移植を行う場合はどの順に動
作するとか、割り込みが起きた時に何が動作するのか、番号の付け方などはそれ
なりに重要です。これら知るために時間がかかるのでちょっとつらいですね。


 おまけ

 CPUの状態を把握するsense_xxが正しく動作しないと、タスク関連の処理で
不正呼び出しのエラーになります。当然といえば当然ですが、ちょっと苦労しま
した。(資料をしっかり読まない罰でしょうね)

 以上