keil MDK编译完成后,Program Size: Code,RO-data,RW-data,ZI-data的意义

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:12   1178   0

keil MDK编译完成后,Program Size: Code,RO-data,RW-data,ZI-data的意义

转载 2016-02-12 15:27:07

Program Size: Code=344 RO-data=252 RW-data=100 ZI-data=1024

看了多遍,总是忘,这次还是把它分析透了吧,若有不对的地方还请各位看官指正补充

固定不变的代码存在ROM或flash里;这个固定不变的代码有两种,一种是指令,一种是指令的操作数,比如查表量,const常量,变量的初始化数值等等,在哈佛结构中即是,指令总线与数据总线分别对以上两种代码进行操作;

变化的量,即在程序运行过程中经常需要改“写”的量存放在RAM中。

好了,现在开始解释上面的各种代码所表示的意义:

code=344 这个是存在ROM(flash)里的指令,这是在程序运行过程中不变的量 ,是指令,在哈佛结构中由(I-bus)指令总线读取;

RO-data (read only data)只读数据,是指令的操作数, 在哈佛结构中由数据总线(D-bus)读取;


RW-data 表示初始化了的可读写变量的大小,这个存在两个地方,初始化量存在ROM/FLASH中,由于还要对其进行“写”操作 所以RAM中也要占用相应的空间

ZI-data 即zero-initialize 未被初始化的变量,这个显然也是存在RAM中

所以该工程对ROM的需求为code+RO-data+RW-data;

RAM最大需求为RW-data+ZI-data ;

也即ROM=前三加 RAM等于后二加 前三后二是也。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP