13.4.2 セマフォ情報

セマフォ情報では,

1 ) セマフォ名semid

2 ) 属性(キューイング方式)sematr

3 ) 初期資源数isemcnt

4 ) システム予約領域maxsem

といった項目を個々のセマフォに対して定義します。

なお,セマフォ情報として定義可能な数は,0〜127個に限られます。

以下に,セマフォ情報の記述形式を示します。

 
 CRE_SEM ( semid, { sematr, isemcnt, maxsem } );


以下に,セマフォ情報で記述する項目について示します。

1 ) セマフォ名semid

セマフォの名前を指定します。
なお,semidとして指定可能な値は,“オブジェクト名”に限られます。


備考 CF78V4では,セマフォ名とIDの対応を以下に示した形式でシステム情報ヘッダ・ファイルに出力します。このため,処理プログラム内で該当システム情報ヘッダ・ファイルをインクルードすることにより,セマフォ名をIDの代わりに利用することが可能となります。

【 システム情報ヘッダ・ファイル(C言語用)への出力形式 】

 #define semid   ID
 

【 システム情報ヘッダ・ファイル(アセンブリ言語用)への出力形式 】

 semid   .EQU    ID
 

2 ) 属性(キューイング方式)sematr

セマフォの属性(キューイング方式)を指定します。
なお,sematrとして指定可能な値は,“TA_TFIFO”に限られます。


【 タスクのキューイング方式 】

TA_TFIFO: タスクからwai_sem,またはtwai_semを発行した際,資源を獲得することができなかった(空き資源が存在しなかった)場合には,該当タスクをセマフォの待ちキューに“資源の獲得要求順”でキューイング

3 ) 初期資源数isemcnt

セマフォの初期資源数を指定します。
なお,isemcntとして指定可能な値は,“0〜127”に限られます。


4 ) システム予約領域maxsem

システム予約領域です。
なお,maxsemとして指定可能な値は,“127”に限られます。