找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5868|回复: 1
打印 上一主题 下一主题
收起左侧

Code RO-data RW-data ZI Data是什么意思

[复制链接]
跳转到指定楼层
楼主
ID:111475 发表于 2016-3-31 00:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                                                

  • Code:代表执行的代码,程序中所有的函数都位于此处。
  • RO-data: 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。
  • RW-data:代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。
  • ZI-data:代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。

其实,知道这些也是感觉是迷糊的,是吧?

对我们有用的,只有两点:

一、下载到FLASH中的数据大小是:(Code + RO Data + RW Data)这个数据关系到占用了多少单片机的FLASH,关系到是否可以再添加程序。比如你的单片机FLASH是8K,编译程序后,发现程序已经7K了,但是工程还需要写很多程序,那就可以考虑换个FLASH大点的单片机了。

二、程序运行是要在RAM中运行的大小是:(RW Data + ZI Data) 单片机的两个重要参数,一个是上面的FLASH大小,一个是RAM大小。看了第一条,就知道这条的重要性。

重要提醒:

刚入门的,看程序的大小,会看HEX文件在WINDOWS中的占用大小来确定占用FLASH的大小,是不对的。



如上图,这个HEX文件在电脑上的大小是4.46KB,但是它只会占用单片机FLSAH的1.57KB,如下图所示:

(提示:在你生成的工程中的Listings文件夹里面,有一个.map后缀的文件,用“记事本”打开这个文件,拉到最后面,就有算好的大小)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:240170 发表于 2018-1-11 18:52 | 只看该作者
学习了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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