Code:程序代码,存储在rom中; RO-data:只读数据,存储在rom中; RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中); ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个区域统一存储,MDK会给默认赋值为0。 2、Code、RO-data、RW...
Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB)Total ROM Size (Code + RO Data + RW Data) 18828 ( 18.39kB)ARM指令的长度刚好是1个字(分配为占⽤4个字节),Thumb指令的长度刚好是半字(占⽤2个字节)R0-R15 (R15-PC,R14-LR,R13-SP) 32位 每个异常模式还带有⼀个程...
Code部分是指编译器生成的机器指令,也就是程序的执行代码。这些指令会被存储在ROM区。RO-data代表程序中用到的只读数据。这意味着程序不能被修改的内容。例如,C语言中使用const关键字定义的变量,全局常量以及字符串等都属于RO-data。RW-data是可读写数据区域。这部分数据一定是初始化为非0值的可读写...
RO-data:Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在 ROM 区( STM32 内部 Flash ),因而程序不能修改其内容。例如 C 语言中 const 关键字定义的变量就是典型的 RO-data RW-data:Read Write data,即可读写数据域,它指初始化为“非 0 值”的可读写数...
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化; 简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data 程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data ...
RO-data是存储const常量和指令。 RW-data是存储初始化值不为0的全局变量。 ZI-data是存储未初始化的全局变量或初始化值为0的全局变量。 Flash=Code + RO Data + RW Data; RAM= RW-data+ZI-data; 这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但是还有两个数...
keil里编译之后Code,RO-Data,RW-Data,ZI-Data详解 Code是程序的代码部分占用的空间 RO-Data是程序的常量以及const型的数据 RW-Data表示已经初始化的静态变量,变量有初始值 ZI-Data表示未初始化静态变量,变量无初始值 RO Size=Code+RO-Data RW Size=RW-Data+ZI-Data ...
CODE、RO、RW、ZI Data 域及堆栈空间 在工程的编译提示输出信息中有一个语句“Program Size:Code=xx RO-data=xx RW-data=xx ZI data=xx”,它说明了程序各个域的大小,编译后,应用程序中所有具有同一性质的数据 (包括代 码) 被归到一个域,程序在存储或运行的时候,不同的域会呈现不同的状态,这些域的意义...
ZI-data:可读写数据区域,一定是未初始化或初始化为“0值”的可读写数据,应用程序同样可以修改其内容,这些数据被存储在RAM区ZI-data区典型:例1、C语言中定义的数组,只定义了数组的大小,并没有给每个成员赋非0值。 以下数据节选于程序的.map文件结尾。 Code (inc. data) RO Data RW Data ZI Data Debug 26...
Code代表执行的代码,程序中所有的函数都位于此处。RO-data代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。RW-data代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。