(toppers-users 4072) Re: ASPのref_tsk()で初期値の優先度の戻り値が正しくないようです。

Shinya Honda honda @ ertl.jp
2013年 4月 13日 (土) 20:50:42 JST


こいさん

本田です.

pk_rtsk->tskbpri  には,タスクの"初期優先度"ではなく,"ベース優先度"が格
納されます.

ASPカーネルの場合は,優先度上限ミューテックスをサポートしていないため,"
ベース優先度"と"現在優先度"は常に同じ値になるので,現状のコードで問題あ
りません.

以上,よろしくお願いします.

(2013/04/13 16:01), koizumi yoshiyuki wrote:
> こいさんです。
> 
> ASPの個別パッケージasp_stbee_armcc-20120310.zip(SJIS版)<https://www.toppers.jp/download.cgi/asp_stbee_armcc-20120310.zip>を使用しています。sample1を修正したプログラムでercd
> = ref_tsk(task[i], &rtsk);を実行したところ、初期値優先度が実行時優先度と同じ値が戻ってきます。
> task_refer.cのref_tsk()の優先度を戻す処理が変な気がします。
> 
> pk_rtsk->tskpri = EXT_TSKPRI(p_tcb->priority);
> // pk_rtsk->tskbpri = EXT_TSKPRI(p_tcb->priority);
> pk_rtsk->tskbpri = EXT_TSKPRI(p_tcb->p_tinib->ipriority);
> 
> コメントが元のソースです。次の行が当方で修正したもので、正しい値が帰っています。
> 
> SSPではサポートされていません。HRPのHRPカーネル Release
> 1.0<https://www.toppers.jp/download.cgi/hrp-1.0.zip>
> も同様な記述になっています。その他は見ていません。
> 
> この戻り値使うつもりはありませんが、たまたま確認して気が付きました。使い道が良くわかりません、仕様から削除したほうが良いかも知れませんね。
> 今更なこんな指摘です。私の認識に誤りがあるかも知れません。よろしくお願いします。
> 
> 以上
>