Memory Map¶
The CC2640R2F 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) |
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 CC2640R2F 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.