STM32内存管理和mdk存储段划分

1. MDK下Code,RO-data,RW-data,ZI-data这几个段:

Code是存储代码的。

RO-data是存储const常量和指令的。

RW-data是存储初始化不为0的全局变量和全局数组的。

ZI-data是存储未初始化的或初始化值为0的全局变量和全局数组的。

2. 程序编译完成后:

FLASH = Code + RO-data + RW-data

RAM = RW-data + ZI-data

3.注意:

MDK程序中,ZI-data占用特别大,可以通过查询程序编译后的.map文件。查看各文件编译后所占FLASH和RAM的大小,从而分析出程序中是否有全局变量定义过多或全局数组定义过大的问题。

你可能感兴趣的:(C语言)