19.20 RAM Capacity Estimation
Memory areas used and managed by the RI600V4 are broadly classified into six types of sections. Subsequent paragraphs explain BRI_RAM, BURI_HEAP, SURI_STACK and SI section.
- BRI_HEAP section: Default section for message buffer area, fixed-sized memory pool area and variable-sized memory pool area.
- BRI_TRCBUF section: This section is generated only when "Taking in trace chart by software trace mode" and "Kernel buffer" are selected in [ Task Analyzer ] tab. The size is specified in [ Task Analyzer ] tab.
The Table 19-11 shows the size calculation method for the BRI_RAM section (unit: bytes). In addition, actual size may become larger than the value computed by Table 19-11 for boundary adjustment.
TMAX_TPRI: The set value of Maximum task priority (priority) in System Information (system).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_TSK: The number of Task Information (task[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_SEM: The number of Semaphore Information (semaphore[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_FLG: The number of Eventflag Information (flag[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_DTQ: The number of Data Queue Information (dataqueue[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
DTQ_ALLSIZE: Total of size of data queue area. Concretely, it is calculated by the following expressions.
dataqueue[].buffer_size * 4
Note, DTQ_ALLSIZE is 4 when this calculation result is 0.
dataqueue[].buffer_size * 4
Note, DTQ_ALLSIZE is 4 when this calculation result is 0.
VTMAX_MBX: The number of Mailbox Information (mailbox[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_MTX: The number of Mutex Information (mutex[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_MBF: The number of Message Buffer Information (message_buffer[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_MPF: The number of Fixed-sized Memory Pool Information (memorypool[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_MPL: The number of Variable-sized Memory Pool Information (variable_memorypool[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_CYH: The number of Cyclic Handler Information (cyclic_hand[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
VTMAX_ALH: The number of Alarm Handler Information (alarm_handl[]).
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The cfg600 outputs the macro of this name to the system information header file kernel_id.h.
The message buffer area, fixed-sized memory pool area and variable-sized memory pool area are located in the BRI_HEAP section. Note, when a message buffer, fixed-sized memory pool and variable-sized memory pool are defined, the area can be located into the user-specific section.
- Total size of message buffer area
This is calculated about the definition of Message Buffer Information (message_buffer[]) that omits to specify "mbf_section" by the following expressions.
This is calculated about the definition of Message Buffer Information (message_buffer[]) that omits to specify "mbf_section" by the following expressions.
- Total size of fixed-sized memory pool area
This is calculated about the definition of Fixed-sized Memory Pool Information (memorypool[]) that omits to specify "section" by the following expressions.
This is calculated about the definition of Fixed-sized Memory Pool Information (memorypool[]) that omits to specify "section" by the following expressions.
- Total size of variable-sized memory pool area
This is calculated about the definition of Variable-sized Memory Pool Information (variable_memorypool[]) that omits to specify "mpl_section" by the following expressions.
This is calculated about the definition of Variable-sized Memory Pool Information (variable_memorypool[]) that omits to specify "mpl_section" by the following expressions.
The user stack area is located in the SURI_STACK section. Note, when a task is defined, the user stack area can be located into the user-specific section.
The size of the SURI_STACK section is calculated about the definition of Task Information (task[]) that omits to specify "stack_section" by the following expressions.
The system stack size is the same as a set value for System stack size (stack_size) in System Information (system).