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

news/2024/11/15 5:51:10/

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等于后二加  前三后二是也。


http://www.ppmy.cn/news/177257.html

相关文章

Centos搭建hadoop

2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/laov/p/3421479.html http://www.open-open.com/lib/view/open1435761287778.html http://jingyan.baidu.com/article/cd4c2979196e1d756e6e6093.html http://my.oschina.net/muou/blog/408543 h…

JS实现中文转拼音(首字母大写和首字母简拼)通用于mui、小程序等

一、将汉字翻译为拼音,其中每一个字的首字母大写; 使用方式: pinyin.getFullChars(this.value); 二、将每汉字的拼音首字母提取出来,是大写的形式。 pinyin.getCamelChars(this.value); 下面是实现的代码,getPing…

z390 黑苹果启动盘_黑苹果从入门到精通:K39小钢炮黑苹果实践

本内容来源于@什么值得买SMZDM.COM|作者:唐少游 本来从第三篇开始是基于一台没有任何参考的电脑,逐步逐步从零开始给大家展示黑苹果优化修复过程,可惜在第五篇结束后OC Formula主板损坏了,于是第六篇重新装了一台X99电脑,然而X99有非常详细现成的资料,导致黑苹果一步到位…

性能优化之 JVM 高级特性

在面试的后期,往往都会问性能优化的问题,譬如你优化过 JVM 吗,有没有遇到过 JVM 排查的场景,如果只能说点基本的见解,那面试官给你的定岗定薪很有可能是初级,为了避免这种尬聊,兄弟,…

nginx: [warn] duplicate extension xxxx解决方案

完整报错如下: nginx: [warn] duplicate extension “html”, content type: “text/html”, previous content type: “text/html” in /etc/nginx/mime.types:3 nginx: [warn] duplicate extension “htm”, content type: “text/html”, previous content type: “text/ht…

postgres_exporter redis_exporter pika_exporter+prometheus+grafana监控

postgres_exporter pika_exporter redis_exporterprometheusgrafana监控 安装postgres_exporter1) 通过二进制文件安装2) 通过docker安装 grafana中加入postgres_exporter监控数据安装redis_exportergrafana中加入redis_exporter监控数据安装pika_exportergrafana中加入pika_ex…

YII2的乐观锁和悲观锁

乐观锁与悲观锁[] Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。 在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrepeatable Read&…

linux--服务器降频

问题 这两天在排查一个问题,服务器上同一段代码的性能不稳定,运行时间时长时段,差别很大; 排查的第一步,将耗时不稳定的代码优化后(使用多线程),运行时间任然忽长忽段; 排…