1、Code、RO-data、RW-data、ZI-data这几个分别是什么? Code:程序代码,存储在rom中; RO-data:只读数据,存储在rom中; RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中); ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个...
RW-data是(Read Write) 初始化了的可读写变量的大小;ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化; 简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data 程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data...
Total RW Size(RW Data + ZI Data) 96 ( 0.09kB)Total ROM Size(Code + RO Da...
RW-data, ZIdata...RAM 三详细分析 初始化时RW-data从flash拷贝到RAM ⽣成的map⽂件位于list⽂件夹下 (KEIL)Total RO Size (Code + RO Data) 18568 ( 18.13kB)Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB)Total ROM Size (Code + RO Data + RW Data) 18828 ( ...
RW Data + ZI Data:bss段和data段,即全局变量和静态变量区; Code + RO Data + RW Data:text段+bss段组成总的ROM,即工程代码在flash里占的空间大小;不包含ZI Data是因为,它里面的数值是未初始化或初始化为0的,所以在启动系统的时候直接将这块RAM清0即可。而RW Data是在RAM中使用的,为什么需要存储到flash...
Total RW Size(RW Data + ZI Data) 96 ( 0.09kB) Total ROM Size(Code + RO Data + RW Data) 1009 ( 0.99kB) === 以上两个程序编译出来后的信息可以看出: Prog1和Prog2的RO包含了Code和RO Data两类数据。他们的唯一区别就是Prog2的RO Data比Prog1多了1个字节。这正和之前的推测一致。 如果增加...
简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code +RO Data +RW Data 程序运行的时候,芯片内部RAM使用的空间为:RW Data +ZI Data 、、、 源:ARM编译中的RO、RW和ZI DATA区段 ARM程序(指在ARM系统中正在执行的程序,而非保存在ROM中的bin文件)的组成 一个ARM程序包含3部分:RO段,RW段...
CODE、RO、RW、ZI Data 域及堆栈空间 在工程的编译提示输出信息中有一个语句“Program Size:Code=xx RO-data=xx RW-data=xx ZI data=xx”,它说明了程序各个域的大小,编译后,应用程序中所有具有同一性质的数据 (包括代 码) 被归到一个域,程序在存储或运行的时候,不同的域会呈现不同的状态,这些域的意义...
Total RW Size(RW Data + ZI Data) 96 ( 0.09kB) Total ROM Size(Code + RO Data + RW Data) 1009 ( 0.99kB) === 以上两个程序编译出来后的信息可以看出: Prog1和Prog2的RO包含了Code和RO Data两类数据。他们的唯一区别就是Prog2的RO
ZI-data:可读写数据区域,一定是未初始化或初始化为“0值”的可读写数据,应用程序同样可以修改其内容,这些数据被存储在RAM区ZI-data区典型:例1、C语言中定义的数组,只定义了数组的大小,并没有给每个成员赋非0值。 以下数据节选于程序的.map文件结尾。 Code (inc. data) RO Data RW Data ZI Data Debug 26...