APPENDIX B SIZE OF MEMORY
The type of the trace mode is selected in the Property panel -> [Task Analyzer] tab -> [Trace] category -> [Selection of trace mode].
Note The above values are maximum, when using all service calls provided by RI850V4. The value fluctuate corresponding to the type of service calls using.
The size of ".kernel_const" section depends on the number of information items defined (such as Memory area information and Task information) and the details of the definitions.
MEM_AREA_num |
|
CRE_TSK_num |
|
CRE_SEM_num |
|
CRE_FLG_num |
|
CRE_DTQ_num |
|
CRE_MBX_num |
|
CRE_MTX_num |
|
CRE_MPF_num |
|
CRE_MPL_num |
|
CRE_CYC_num |
|
DEF_INH_num |
|
DEF_SVC_num |
|
ATT_INI_num |
|
VATT_IDL_num |
|
maxint |
The value defined in the Maximum number of interrupt handlers: maxint; Maximum value of exception code: maxintno.
|
TA_ACT_num |
|
TA_STA_num |
The size of ".kernel_data" section depends on the number of information items defined (such as Task information and Semaphore information) and the details of the definitions.
KERNEL_DATA = 68 + 32 * CRE_TSK_num + 8 * CRE_SEM_num + 8 * CRE_FLG_num + 8 * CRE_DTQ_num + 12 * CRE_MBX_num + 8 * CRE_MTX_num + 8 * CRE_MPF_num + 8 * CRE_MPL_num + 8 * CRE_CYC_num + align4maxtpri |
CRE_TSK_num |
|
CRE_SEM_num |
|
CRE_FLG_num |
|
CRE_DTQ_num |
|
CRE_MBX_num |
|
CRE_MTX_num |
|
CRE_MPF_num |
|
CRE_MPL_num |
|
CRE_CYC_num |
|
maxtpri |
The size of ".kernel_const_trace.const" section depends on the trace mode; that is, the mode selected in the Property panel -> [Task Analyzer] tab -> [Trace] category -> [Selection of trace mode].
In the following table, "align4 (x)" means the result of aligning the value "x" to a 4-byte boundary.
The size of ".kernel_data_trace.bss" section depends on the trace mode. The type of trace mode is selected in the "Property panel -> [Task Analyzer] tab -> [Trace] category -> [Selection of trace mode]".
2 ) Taking in trace chart by hardware trace mode
The size of ".kernel_data_trace.bss" section is 4 bytes.
The size of ".kernel_data_trace.bss" section is 4 bytes.
3 ) Taking in trace chart by software trace mode
The size of ".kernel_data_trace.bss" section depends on the definition in the Property panel -> [Task Analyzer] tab -> [Trace] category -> [Buffer size].
The following shows an expression required for estimating ".kernel_data_trace.bss" section size.
In the expression, "align4 (x)" means the result of aligning the value "x" to a 4-byte boundary.
The size of ".kernel_data_trace.bss" section depends on the definition in the Property panel -> [Task Analyzer] tab -> [Trace] category -> [Buffer size].
The following shows an expression required for estimating ".kernel_data_trace.bss" section size.
In the expression, "align4 (x)" means the result of aligning the value "x" to a 4-byte boundary.
TRC_BUF_size |
The number of the definition of the Property panel -> [Task Analyzer] tab -> [Trace] category -> [Buffer size].
|
4 ) Taking in long-statistics by software trace mode
The size of ".kernel_data_trace.bss" section depends on the number of task information items defined and the details of the basic information definitions.
The following shows an expression required for estimation ".kernel_data_trace.bss" section size.
In the expression, "align4 (x)" means the result of aligning the value "x" to a 4-byte boundary.
The size of ".kernel_data_trace.bss" section depends on the number of task information items defined and the details of the basic information definitions.
The following shows an expression required for estimation ".kernel_data_trace.bss" section size.
In the expression, "align4 (x)" means the result of aligning the value "x" to a 4-byte boundary.
The value of the definition in the Maximum number of interrupt handlers: maxint; Maximum value of exception code: maxintno.
|
The size of ".kernel_work" section depends on the information such as Basic information and Task information and so on.
Total amount of the memory size that specified in "Fixed-sized memory pool" for each fixed-sized memory pool.
|
|
Total amount of the memory size that specified in "Variable-sized memory pool" for each variable-sized memory pool.
|
The size of the system stack depends on the details of the Task information and the process of task.
The following shows an expression required for estimation the system stack size required by the RI850V4.
In the following expression, "max(a, b, c)" means the result of selecting the largest value from "a", "b", and "c" (for example, max(1, 2, 3) is 3).
The size of the task stack depends on the details of Task information definitions and processing to be done in the tasks.
The following shows an expression required for estimating the task stack size required by each task defined in the Task information.
This value is determined as shown in Table B-2 according to the target C compiler type and device type specified in the activation options for the CONFIGURATOR CF850V4 (see "18.2.1 Activating from command line" for details of activation options) and the preempt acceptance state specified in the Attribute: tskatr (such as coding language and initial activation state).
|
|
The value corresponding to task processing (defined the value of the Task stack size: stksz, memory area name: sec_nam).
|
The following shows an expression required for estimating the data queue size by each data queue defined in the Data queue information.
The size of the fixed-sized memory pools depends on the details of Fixed-sized memory pool information definitions.
The following shows an expression required for estimating the fixed-sized memory pool size required by each fixed-sized memory pool defined in the Fixed-sized memory pool information.
The size of the variable-sized memory pools depends on the details of Variable-sized memory pool information definitions.
The following shows an expression required for estimating the variable-sized memory pool size required by each variable-sized memory pool defined in the Variable-sized memory pool information.
The size of ".sec_nam (user-defined area)" depends on the details of information definitions (such as Task information and Data queue information).
Note This section is necessary when the task stack or data queue area is defined to be allocated outside ".kernel_work" section in the Task information or Data queue information.
Estimate the memory size for this section with reference to the descriptions in "B.1.7 .kernel_work".
Estimate the memory size for this section with reference to the descriptions in "B.1.7 .kernel_work".