Heap memory is used by the memory allocation functions.
It is usually configured in the startup_<device>.s or startup_<device>.c file located under the Device component class but it can also, in some cases, be configured by a linker script instead.
Some interface test functions allocate additional buffers from the heap memory.
The CMSIS-Driver Validation framework does not impose heap requirements because it does not use heap memory.
Each interface test module has specific requirements for the heap memory, default requirements are listed below:
Interface test module | Heap memory requirement (in bytes) |
---|---|
CAN | 128 |
Ethernet | 3028 |
SPI | 12288 |
USART | 8192 |
Interface test modules that are not listed in the previous table do not use heap memory.
The system heap memory size must support the largest heap requirement of any used interface test module.
For example, if SPI driver testing is selected heap memory size should be set to at least 12 kB.
Suggested value for heap memory size is 16384 bytes.
The thread requirements need to be reflected in the CMSIS-RTOS2 configuration. Refer to the CMSIS-RTOS2 Reference for further details.
For CMSIS-RTOS2 RTX5, thread requirements are configured in the RTX_Config.h file located under the CMSIS component class:
Option | Value |
---|---|
System Configuration: Global Dynamic Memory size [bytes] (Note 1) | 16384 |
Thread Configuration: Default Thread Stack size [bytes] | 3072 |