13.4.6 固定長メモリ・プール情報
といった項目を個々の固定長メモリ・プールに対して定義します。
なお,固定長メモリ・プール情報として定義可能な数は,0~127個に限られます。
以下に,固定長メモリ・プール情報の記述形式を示します。
CRE_MPF ( mpfid, { mpfatr, blkcnt, blksz[:seg_nam], mpf } );
|
以下に,固定長メモリ・プール情報で記述する項目について示します。
固定長メモリ・プールの名前を指定します。
なお,
mpfidとして指定可能な値は,“オブジェクト名”に限られます。
備考 CF78V4では,固定長メモリ・プール名とIDの対応を以下に示した形式でシステム情報ヘッダ・ファイルに出力します。このため,処理プログラム内で該当システム情報ヘッダ・ファイルをインクルードすることにより,固定長メモリ・プール名をIDの代わりに利用することが可能となります。
【 システム情報ヘッダ・ファイル(C言語用)への出力形式 】
【 システム情報ヘッダ・ファイル(アセンブリ言語用)への出力形式 】
固定長メモリ・プールの属性(キューイング方式)を指定します。
なお,
mpfatrとして指定可能な値は,“TA_TFIFO”に限られます。
TA_TFIFO: タスクから
get_mpf,または
tget_mpfを発行した際,メモリ・ブロックを獲得することができなかった(空きメモリ・ブロックが存在しなかった)場合には,該当タスクを固定長メモリ・プールの待ちキューに“メモリ・ブロックの獲得要求順”でキューイング
メモリ・ブロックの総数を指定します。
なお,
blkcntとして指定可能な値は,“1~16383”に限られます。
1ブロック当たりのサイズ(単位:バイト)を指定します。
なお,
blkszとして指定可能な値は,“4~65534の2バイト境界値”に限られます。
固定長メモリ・プールの割り付け先を指定します。
なお,
sec_namとして指定可能な値は,“kernel_work0,kernel_work1,kernel_work2,kernel_work3のいずれか”に限られます。
kernel_work0: 固定長メモリ・プールを.kernel_work0セクションに割り付ける
kernel_work1: 固定長メモリ・プールを.kernel_work1セクションに割り付ける
kernel_work2: 固定長メモリ・プールを.kernel_work2セクションに割り付ける
kernel_work3: 固定長メモリ・プールを.kernel_work3セクションに割り付ける
備考
sec_namの指定を省略した場合,固定長メモリ・プールの割り付け先は,“.kernel_work0セクション”となります。
システム予約領域です。
なお,
mpfとして指定可能な値は,“NULL”に限られます。