Memory Map¶
The CC2640R2 contains several memory regions including RAM, ROM, and Flash. This section aims to show how these memory regions are utilized by the stack and user application.
The stack library configuration memory map can be seen below. See Stack Library Configuration (_stack_library) for more information on the configuration.
Memory Section | Starting Address | Size (bytes) | Description |
---|---|---|---|
Flash | 0x00000000 | 60 | Cortex Interrupt Vecs |
Application / Stack Code | |||
SNV | 1-2 pages | Simple Non-Volatile Storage | |
End of Flash - 88 | Customer Configuration | ||
ROM | 0x10000000 | ROM_SIZE | TI-RTOS, BLE-Stack/BLE5-stack, Crypto, Driverlib, Boot |
RAM | 0x20000000 | RAMVEC_SIZE | Interrupt Vector Table in RAM for dynamic Hwi creation |
0x20000100 | RTOSRAM_SIZE | Reserved for pointers for TI-RTOS in ROM | |
.bss and .data | |||
ICall heap | |||
TI-RTOS kernel system stack (CSTACK) | |||
AUX RAM | 0x400E0000 | AUXRAM_SIZE | Memory area belonging to the Sensor Controller |
Note
The Sensor Controller is not available on the CC2640R2L, so the AUX RAM can be used freely by the application.
The .map file for a given project can be consulted to see exactly what sections of the stack reside in ROM.
The above variables ending in _SIZE are platform dependent and listed for CC2640R2 below:
ROM_SIZE
: 112 kBRAMVEC_SIZE
: 200 BRTOSRAM_SIZE
: 262 B
Note
The SNV region can be configured to be either one or two pages long using the
NVOCMP_NVPAGES
define. On some systems, only two page SNV may be supported.
Refer to Flash for more information about what is supported on a
given platform.