17.5.8 Variable-sized memory pool information

The variable-sized memory pool information defines ID number: mplid, Attribute: mplatr, Pool size: mplsz, memory area name: sec_nam, Reserved for future use: mpl for a variable-sized memory pool.

The number of items that can be defined as variable-sized memory pool information is limited to one for each ID number.

The following shows the variable-sized memory pool information format.

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


The items constituting the variable-sized memory pool information are as follows.

1 ) ID number: mplid

Specifies the ID number for a variable-sized memory pool.
A value from 0x1 to 0xff, or a name, can be specified for mplid.


Note When a name is specified, the CF850V4 automatically assigns an ID number.
The CF850V4 outputs the relationship between a name and an ID number to the system information header file in the following format:


 #define mplid   value
2 ) Attribute: mplatr

Specifies the task queuing method for a variable-sized memory pool.
The keyword that can be specified for mplatr is TA_TFIFO or TA_TPRI.


TA_TFIFO: Task wait queue is in FIFO order.

TA_TPRI: Task wait queue is in task priority order.

3 ) Pool size: mplsz, memory area name: sec_nam

Specifies the variable-size memory pool size (unit: bytes) and the name of the memory area secured for the variable-size memory pool.
Only 4-byte boundary values from 0x1 to 0x7ffffffc can be specified for mplsz, and only memory area name sec_area defined in Memory area information" can be specified for sec_nam.


Note If specification of sec_nam is omitted, the variable-sized memory pool is allocated to ".kernel_work" section.

4 ) Reserved for future use: mpl

System-reserved area.
Values that can be specified for mpl are limited to NULL characters.