(toppers-users 233) TOPPERS の割り込み時のスイッチングに関して

ryosuke.takeuchi @ nts.ricoh.co.jp ryosuke.takeuchi @ nts.ricoh.co.jp
2001年 7月 26日 (木) 10:47:01 JST



いつも、お世話になっております。
(株)リコー竹内です。
ノーツメールから送りますので、メールに線が入っているかもしれません。申し訳、あり
ません。
最新のTOPPERSについて、質問(バグ?)があります。

68LC040用のTOPPERSについて、質問があります。
・割り込み時のタスクの切り替えについてですが。
-------------- next part --------------
?cpu_support.S
-------------- next part --------------
のdispatcher_1の部分で、schedtskがない(0)場合、runtskをゼロにし
て、dispatch_2に移り、割り込みを解放します。そこで、割り込みが発生し、割り込みル
ーチンでタスクの起動が発生した場合、schedtskに次のTCBがセットされ、runtskはゼロ
のままで、ret_intに入ります。ここでruntskとschedtskは違う値なので、タスクスタッ
クと実行再開番地を保存しますが。これはa0レジスタ(runtsk)相対に行います。このと
きのa0レジスタの値はゼロになっています。
ここでは、runtskがゼロの場合は、何もせず、割り込みを抜けるべきではないのでしょう
か?