RENESAS TOOL NEWS 2007年10月19日 : 071019/tn1
| SuperHファミリ用リアルタイムOS製品
ご使用上のお願い
--ivset_tflサービスコールに関する注意事項-- |
SuperHファミリ用リアルタイムOS製品の使用上の注意事項を連絡します。
1. 該当製品
(1)SH-4およびSH-4A用 HI7750/4
全バージョン(V1.00r1~V.2.02 Release 02)
(2)SH-4AおよびSH4AL-DSP用 HI7300/PX
全バージョン(V.1.00 Release 00~V.1.02 Release 00)
(3)SH4AL-DSP, SH-3, およびSH3-DSP用 HI7700/4
全バージョン(V1.00r1~V.2.03 Release 00)
(4)SH2A-DUALマイコン用 HI7200/MP
全バージョン(V.1.00 Release 00およびV.1.00 Release 01)
(5)SH2-DSP, SH-1, SH-2, SH-2A, およびSH2A-FPU用 HI7000/4
全バージョン(V1.00r1~V.2.02 Release 02)
2. 内容, 発生条件
プログラムが以下の順序で実行された場合、(4)のivset_tflサービスコールに
よって、(2)のvset_tflまたはivset_tflでセットしたタスク付属イベントフラ
グのビットが、未セット扱いになる場合があります。
(1)タスクAが、タスク付属イベントフラグ待ち状態になっている。
(2)任意のプログラムが、タスクAに対して(1)でタスクAが待っているビットの
いずれかをセットするvset_tflまたはivset_tflサービスコールを呼び出す。
(3)カーネルが(2)の処理を実行中に割込み(タイマ割込みを含む)が発生する。
(4)(3)によって起動されたハンドラ(割込みハンドラ、周期ハンドラ、アラー
ムハンドラ、またはオーバーランハンドラ)から、タスクAに対して(1)でタ
スクAが待っているビットのいずれかをセットするivset_tflサービスコール
を呼び出す。
3. 回避策
下記のように、タスク付属イベントフラグの替わりに、通常のイベントフラグ
を使用してください。
(1)イベントフラグの生成
以下の内容でイベントフラグを生成してください。
・イベントフラグ属性(T_CFLG.flgatr) : TA_WSGL|TA_CLR
・ビットパターン初期値(T_CFLG.iflgptn) : 0
(2)イベントフラグのセット
vset_tflおよびivset_tflは、それぞれset_flgおよびiset_flgに置き換
えてください。
(3)イベントフラグのクリア
vclr_tflおよびivclr_tflは、それぞれclr_flgおよびiclr_flgに置き換
えてください。
(4)イベントフラグ待ち
vwai_tfl, vtwai_tfl, およびvpol_tflは、それぞれwai_flg, twai_flg,
およびpol_flgに置き換えてください。パラメータの待ちモード(wfmode)
にはTWF_ORWを使用してください。
4. 恒久対策
次バージョンで改修予定です。