17.5.8 可変長メモリ・プール情報

可変長メモリ・プール情報では,

1 ) ID mplid

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

3 ) プール・サイズmplsz,メモリ領域名sec_nam

4 ) システム予約領域mpl

といった項目を個々の可変長メモリ・プールに対して定義します。

なお,可変長メモリ・プール情報として定義可能な数は,1つのIDに対して1個に限られます。

以下に,可変長メモリ・プール情報の記述形式を示します。

 
 CRE_MPL ( mplid, { mplatr, mplsz[:sec_nam ], mpl } );


以下に,可変長メモリ・プール情報で記述する項目について示します。

1 ) ID mplid

可変長メモリ・プールのIDを指定します。
なお,mplidとして指定可能な値は“0x1〜0xff,または名前”に限られます。


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

 #define mplid   数値
2 ) 属性(キューイング方式)mplatr

可変長メモリ・プールの属性(キューイング方式)を指定します。
なお,mplatrとして指定可能な値は“TA_TFIFO,TA_TPRIのいずれか”に限られます。


TA_TFIFO: 可変長メモリ・ブロックの獲得要求を行った順

TA_TPRI: タスクの優先度順

3 ) プール・サイズmplsz,メモリ領域名sec_nam

可変長メモリ・プールのサイズ(単位:バイト),および可変長メモリ・プール用に確保するメモリ領域の名前を指定します。
なお,mplszとして指定可能な値は“0x1〜0x7ffffffcの4バイト境界値”に,sec_namとして指定可能な値は“メモリ領域情報で定義したメモリ領域名sec_nam”に限られます。


備考 sec_namの指定を省略した場合,可変長メモリ・プール用に確保するメモリ領域は“.kernel_workセクション”となります。

4 ) システム予約領域mpl

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