-
cre_cyc
acre_cyc
-
ER cre_cyc ( ID cycid, T_CCYC *pk_ccyc );
ER_ID acre_cyc ( T_CCYC *pk_ccyc );
|
|
|
|
ID cycid;
|
|
|
T_CCYC *pk_ccyc;
|
|
typedef struct t_ccyc {
ATR cycatr; /*周期ハンドラ属性*/
VP_INT exinf; /*拡張情報*/
FP cychdr; /*周期ハンドラの実行開始アドレス*/
RELTIM cyctim; /*起動周期(ミリ秒)*/
RELTIM cycphs; /*起動位相(ミリ秒)*/
} T_CCYC;
|
本サービス・コールは,信頼されたドメインに所属するタスクからのみ呼び出せます。
cre_cycは,指定された
cycidの周期ハンドラを
pk_ccycで指定された内容で生成します。acre_cycは
pk_ccycで指定された内容で周期ハンドラを生成し,生成した周期ハンドラIDを返します。
1 ) 周期ハンドラ属性(
cycatr)
cycatrには以下を指定できます。
cycatr := ( TA_HLNG | [ TA_STA] | [ TA_PHS ] )
-
TA_HLNG(= 0x0000)
周期ハンドラの記述言語は,C言語のみをサポートしています。
-
TA_STA(= 0x0002)
TA_STAを指定すると周期ハンドラは動作状態(STA状態)となり,指定しないと停止状態(STP状態)となります。
2 ) 拡張情報(
exinf)
exinfは,周期ハンドラに引数として渡されます。
exinf は,ユーザが生成する周期ハンドラに関する情報を設定するなどの目的で自由に使用できます。
3 ) 周期ハンドラの実行開始アドレス(
cychdr)
cychdrには,周期ハンドラの実行開始アドレスを指定します。
4 ) 起動周期(
cyctim),起動位相(
cycphs)
cyctimには起動周期(ミリ秒)を指定します。
cycphsには,本サービス・コール呼出し時点からの最初の起動までの時間(ミリ秒)を指定します。TA_STA,TA_PHS両方の指定がない場合,
cycphsは無視されます。
|
|
|
|
|
acre_cycの正常終了(生成された周期ハンドラID)
|
|
|
|
|
|
- cycatrのbit1,bit2以外のビットが1
|
|
|
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- 呼び出しタスクからの pk_ccycが示す領域に対するオペランド・リード・アクセス許可がない。
|
|
|
- 呼出しタスクは,信頼されたドメインに所属していない。
|
|
|
|
|
|
|