STM32 变量存储问题描述

来源:互联网 发布:沙漠靴配什么裤子知乎 编辑:程序博客网 时间:2024/04/29 11:12
STM32以及在MDK里面段的划分。

MDKCode,RO-data,RW-data,ZI-data这几个段:

Code是存储程序代码的。

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

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

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

Flash=Code + RO Data + RW Data;

RAM= RW-data+ZI-data;

==============================================================================

    Total RO  Size (Code + RO Data)                30024 (  29.32kB)
    Total RW  Size (RW Data + ZI Data)              6328 (   6.18kB)
    Total ROM Size (Code + RO Data + RW Data)      30408 (  29.70kB)

==============================================================================

局部变量是储存在栈中的,stm32栈和堆的大小是可以通过startup_stm32f40xx.s(stm32f407)文件设置的:

//栈大小

Stack_Size      EQU     0x00000400

//堆大小
Heap_Size       EQU     0x00000200