The nRF52840 contains 1 MB of flash and 256 kB of RAM that can be used for code and data storage.
整体内存框架:
RAM(256kB)分析
flash(1M)分析
keil中
不带协议栈
带协议栈:地址不再从0开始
IROM(flash)从26000,其中26000 = 152KB,其中s140的协议栈就是152KB,IRAM从0x2000 22E0开始,其中22E0 = 8kB,这是预留给协议栈的
NRF52832的内存
uint8_t m_ramon_used[MRING_RAMON_TAG_SIZE] __attribute__((at(MRING_RAMON_TAG_BASE)));
-------------------------------------------------------------------补充 2020.6.30
之前一直不明白这一块是什么意思
以下是j-mem工具分析出来的,
其实这个和你使用的编译器有关,
我使用的是keil5编译器,其实就是IRAM的其实地址可以有两个地方,你可以选择0x200 0000也可以选择0x800 0000
实际上用j-mem看内存分布,这两块的地址内容是一样
cm3内核分布:
内存中如何确定堆栈的位置:
例如: