首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >KEIL编译后程序的大小,Code、RO-data、RW-data、ZI-data的关系

KEIL编译后程序的大小,Code、RO-data、RW-data、ZI-data的关系

作者头像
ManInRoad
发布2021-12-02 10:05:18
发布2021-12-02 10:05:18
10.4K0
举报
文章被收录于专栏:物联网思考物联网思考

经常使用MDK,本文聊聊程序编译后的大小,ram和flash的占用空间。

看看MDK编译后显示:

Program Size: Code=9748 RO-data=392 RW-data=20 ZI-data=1228

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中划分一个区域统一存储,MDK会给默认赋值为0。

2、Code、RO-data、RW-data、ZI-data的关系是什么?

因此程序占用rom大小=Code+RO-data+RW-data =9748+392+20=10160=9.92K; 占用ram大小=RW-data+ZI-data =20+1228=1248 =1.22K。

3、map文件

从map文件中也可以看出:

通过以上可以看出,RAM除了heap、stack外,还有ZI-Data、RW-Data区域。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 物联网思考 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档