13.4.7 周期ハンドラ情報
といった項目を個々の周期ハンドラに対して定義します。
なお,周期ハンドラ情報として定義可能な数は,0〜127個に限られます。
CRE_CYC ( cycid, { cycatr, exinf, cychdr, cyctim, cycphs } );
|
以下に,周期ハンドラ情報で記述する項目について示します。
周期ハンドラの名前を指定します。
なお,
cycidとして指定可能な値は,“オブジェクト名”に限られます。
備考 CF78V4では,周期ハンドラ名とIDの対応を以下に示した形式でシステム情報ヘッダ・ファイルに出力します。このため,処理プログラム内で該当システム情報ヘッダ・ファイルをインクルードすることにより,周期ハンドラ名をIDの代わりに利用することが可能となります。
【 システム情報ヘッダ・ファイル(C言語用)への出力形式 】
【 システム情報ヘッダ・ファイル(アセンブリ言語用)への出力形式 】
2 ) 属性(記述言語,初期活性状態)
cycatr
周期ハンドラの属性(記述言語,初期活性状態,起動位相保存の有無)を指定します。
なお,
cycatrとして指定可能な値は,“TA_HLNG,TA_ASMのいずれか,および,TA_STA,TA_PHS”に限られます。
備考 TA_STAの指定を省略した場合,周期ハンドラの初期活性状態は,“動作停止状態(STP状態)”となります。
システム予約領域です。
なお,
exinfとして指定可能な値は,“0”に限られます。
周期ハンドラの起動アドレスを指定します。
なお,
cychdrとして指定可能な値は,“C言語で記述する際のシンボル名”に限られます。
備考1 以下のように周期ハンドラをC言語で記述した場合,本項目で指定する値は,“func_cychdr”となります。
#include <kernel.h>
#include <kernel_id.h>
void
func_cychdr ( void )
{
............
............
return;
}
|
備考2 以下のように周期ハンドラをアセンブリ言語で記述した場合,本項目で指定する値は,“func_cychdr”となります。
$INCLUDE (kernel.inc)
$INCLUDE (kernel_id.inc)
.PUBLIC _func_cychdr
.SECTION .text, TEXT
_func_cychdr:
............
............
RET
|
周期ハンドラの起動周期(単位:ティック)を指定します。
なお,
cyctimとして指定可能な値は,“1〜4294967295”に限られます。
周期ハンドラの初期起動位相(単位:ティック)を指定します。
なお,
cycphsとして指定可能な値は,“0x1〜0x7fffffff”に限られます。
備考1 RI78V4における初期起動位相は,周期ハンドラの生成処理が完了してから1回目の起動要求が発行されるまでの相対時間間隔を意味しています。
備考2
cycphsに
基本情報で定義した基本クロック周期の整数倍値以外の値を指定した場合,CF78V4は整数倍値が指定されていたものとして処理を行います。