MSC TOOL NEWS: MSCT-MR1600-970916D
M16ファミリ用リアルタイムOS MR1600で割り込みが入らなくなる場合があることが判明しましたので、その内容および対処方法についてご連絡致します。
- 現象
あるタスクがext_tskを発行したときに、実行するタスクがなくなった場合に、OS依存の割り込みが受け付けられなくなる可能性があります。
- 対処方法
以下の何れかの方法で回避くださるようお願い申し上げます。
- (1) アイドルタスクを作る。
- 実行するタスクが無くなる場合が発生しないようにするため、常に実行する最低優先度のタスクを作成し、実行させます。
- (2) C言語のプログラムでext_tskを発行している場合、ext_tskのC言語インタフェースを修正します。
- MR1600の開発キット(MR1600K)に入っているsrc/c16mr/ext_tsk.gsというC言語インタフェースに一行を追加し、オブジェクトにリンクします。
-------------------------------------------------
_ext_tsk:
$ext_tsk:
MOV.W #H'60000, R8 ; <== 追加
BSR _sys_ext_tsk
; *** no return from OS ***
; RTS
.END
-------------------------------------------------
- (3) アセンブリ言語のプログラムでext_tskを発行している場合、ext_tskをサブルーチンコールする前に、前項のC言語インターフェースに追加した一行と同じコードを追加します。