17.5.9 周期ハンドラ情報

周期ハンドラ情報では,

1 ) ID cycid

2 ) 属性(記述言語,初期起動状態など)cycatr

3 ) 拡張情報exinf

4 ) 起動アドレスcychdr

5 ) 起動周期cyctim

6 ) 初期起動位相cycphs

といった項目を個々の周期ハンドラに対して定義します。

なお,周期ハンドラ情報として定義可能な数は,1つのIDに対して1個に限られます。

以下に,周期ハンドラ情報の記述形式を示します。

 
 CRE_CYC ( cycid, { cycatr, exinf, cychdr, cyctim, cycphs } );


以下に,周期ハンドラ情報で記述する項目について示します。

1 ) ID cycid

周期ハンドラのIDを指定します。
なお,cycidとして指定可能な値は“0x1〜0xff,または名前”に限られます。


備考 cycidに“名前”を指定した場合,CF850V4はIDの自動割り付け処理を行います。なお,名前とIDの対応は,下記形式でシステム情報ヘッダ・ファイルに出力されます。

 #define cycid   	数値
2 ) 属性(記述言語,初期起動状態など)cycatr

周期ハンドラの属性(記述言語,初期起動状態など)を指定します。
なお,cycatrとして指定可能な値は“TA_HLNG,TA_ASMのいずれか,およびTA_STA,TA_PHS”に限られます。


【 周期ハンドラの記述言語 】

TA_HLNG: C言語

TA_ASM: アセンブリ言語

【 周期ハンドラの初期起動状態 】

TA_STA: 動作状態(STA状態)

【 起動位相保存の有無 】

TA_PHS: 保存

備考1 TA_STAの指定を省略した場合,周期ハンドラの初期起動状態は“停止状態(STP状態)”となります。

備考2 TA_PHSの指定を省略した場合,起動位相保存の有無は“未保存”となります。

3 ) 拡張情報exinf

周期ハンドラに引き渡す拡張情報を指定します。
なお,exinfとして指定可能な値は“0x0〜0xffffffff,またはシンボル名”に限られます。


備考 対象周期ハンドラは,exinfを関数パラメータと同様に取り扱うことで操作可能となります。

4 ) 起動アドレスcychdr

周期ハンドラの起動アドレスを指定します。
なお,cychdrとして指定可能な値は“0x0〜0xfffffffeの2バイト境界値,またはシンボル名”に限られます。


備考 周期ハンドラを以下のように記述した場合,cychdrに指定するシンボル名はfunc_cycになります。

 #include        <kernel.h>
 #include        <kernel_id.h>
 
 void
 func_cyc ( VP_INT exinf )
 {
         ............
         ............
 
         return;
 }


5 ) 起動周期cyctim

周期ハンドラの起動周期(単位:ミリ秒)を指定します。
なお,cyctimとして指定可能な値は“0x1〜0x7fffffff”に限られます。


備考 cyctim基本情報で定義した基本クロック周期の整数倍値以外の値を指定した場合,CF850V4は整数倍値が指定されていたものとして処理を行います。

6 ) 初期起動位相cycphs

周期ハンドラの初期起動位相(単位:ミリ秒)を指定します。
なお,cycphsとして指定可能な値は“0x1〜0x7fffffff”に限られます。


備考1 RI850V4における初期起動位相は,周期ハンドラの生成処理が完了してから1回目の起動要求が発行されるまでの相対時間間隔を意味しています。

備考2 cycphs基本情報で定義した基本クロック周期の整数倍値以外の値を指定した場合,CF850V4は整数倍値が指定されていたものとして処理を行います。