找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4781|回复: 2
收起左侧

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

[复制链接]
ID:105323 发表于 2016-2-24 17:54 | 显示全部楼层 |阅读模式
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等于后二加 前三后二是也。​

回复

使用道具 举报

ID:20672 发表于 2018-10-23 12:48 | 显示全部楼层
谢谢分享~~~
回复

使用道具 举报

ID:516865 发表于 2020-5-15 10:36 | 显示全部楼层
nice!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表