Everything

17.5.7 固定長メモリ・プール情報

固定長メモリ・プール情報では,
といった項目を個々の固定長メモリ・プールに対して定義します。
なお,固定長メモリ・プール情報として定義可能な数は,1つのIDに対して1個に限られます。
以下に,固定長メモリ・プール情報の記述形式を示します。
 
 CRE_MPF ( mpfid, { mpfatr, blkcnt, blksz[:sec_nam ], mpf } );

以下に,固定長メモリ・プール情報で記述する項目について示します。
1 ) ID mpfid
固定長メモリ・プールのIDを指定します。
なお,mpfidとして指定可能な値は“0x1~0xff,または名前”に限られます。
備考 mpfidに“名前”を指定した場合,CF850V4はIDの自動割り付け処理を行います。なお,名前とIDの対応は,下記形式でシステム情報ヘッダ・ファイルに出力されます。
 #define mpfid   	数値
2 ) 属性(キューイング方式)mpfatr
固定長メモリ・プールの属性(キューイング方式)を指定します。
なお,mpfatrとして指定可能な値は“TA_TFIFO,TA_TPRIのいずれか”に限られます。
TA_TFIFO: 固定長メモリ・ブロックの獲得要求を行った順
TA_TPRI: タスクの優先度順
3 ) 全メモリ・ブロック数blkcnt
固定長メモリ・プールの全メモリ・ブロック数を指定します。
なお,blkcntとして指定可能な値は“0x1~0x7fff”に限られます。
4 ) ブロック単位サイズblksz,メモリ領域名sec_nam
1ブロック当たりのサイズ(単位:バイト),および固定長メモリ・プール用に確保するメモリ領域の名前を指定します。
なお,blkszとして指定可能な値は“0x1~0x7ffffffcの4バイト境界値”に,sec_namとして指定可能な値は“メモリ領域情報で定義したメモリ領域名sec_nam”に限られます。
備考 sec_namの指定を省略した場合,固定長メモリ・プール用に確保するメモリ領域は“.kernel_workセクション”となります。
5 ) システム予約領域mpf
システム予約領域です。
なお,mpfとして指定可能な値は“NULL”に限られます。