你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

真的明白Code、RO-data、RW-data和ZI-data吗?

[复制链接]
贺工 发布时间:2017-10-22 00:12
1:Code、RO-data、RW-data和ZI-data
& |7 F1 h1 z3 {4 i. r8 ]STM32单片机在keil开发环境下编译完成后,会显示:8 S$ I" p- S" I  k
Program Size: Code=XXXX RO-data=XXXX RW-data=XXXX ZI-data=XXXX  
/ F0 c! P' o4 H) m4 v7 U: I如图1所示:
$ a3 C# B3 }' W; f: m8 U, i
3_1.PNG
                     图1 编译后窗口显示

( ?, C! Y0 c: T0 C
其中Code、RO-data、RW-data和ZI-data是什么意思呢?
- u: h3 y* c* ~/ g2 W& M6 h01:Code 代表执行的代码,程序中所有的函数;
& s/ Y+ g0 a4 ^! E  j  L: R# d02:RO-data 代表只读数据,程序中所定义的全局常量数据;2 b8 o9 _4 d1 S  i: W2 t7 v
03:RW-data代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量;
. m& J3 J: j( X04:ZI-data代表定义了但未初始化的可读写数据,ZI英语是zero initial,就是程序中用到的变量并且被系统初始化为0的变量的字节数,keil编译器默认是把你没有初始化的变量都赋值一个0,这些变量在程序运行时是保存在RAM中的。" q( k( a' q4 f& ~, x) q( n1 ]( T- v  w" I

& f( \1 S  x* c+ s7 c* o
( @3 F, P# A! a: {
2:.map文件分析
9 }- A* |7 Z7 R# s3 n( l# M8 `.map文件位于生成工程中的Listings文件夹下,打开可以看到图2显示内容:
' C8 |! w3 X' ~# T7 D3 D 3_3.PNG
; c# r) t* h' t! h2 C* \2 o     图2 .map文件编译信息显示9 q9 A6 N, \# a  X! j* U* O- n

' S2 t# o" |3 ?6 f5 U8 f( S$ x
发现KEIL编译后显示的是图中Grand Totals/ELFImage Totals, 而实际存储在ROM中的数据并不包含ZI-Data(因为ZI-Data未初始化,对于MDK并不需要单独提供地址保存其初始化数据)。
01:程序编译后的HEX文件大小=Total ROM Size的值=(Code+ROData+RW Data);图2中显示表示编译后HEX文件大小2.09KB,这个就是实际烧录到单片机Flash里面的程序文件大小。单片机选型时要注意单片机的Flash容量。
02:程序实际在单片机RAM中运行的数据大小=Total RW Size的值=(RWData+ZI Data);
总之,只有单片机的实际Flash容量大于等于程序编译后的Total ROM Size值,且单片机的实际RAM容量大于等于编译后的Total RW Size值,程序才能在单片机中正常运行。
+ L6 U! H$ h. O& a8 v
更多精彩内容请微信扫码关注
QQ图片20171014213345.png
附:
之前发过的帖子
01:
& H8 F% O' ?  _- b$ j
03:轻松搞定串口通信隔离
6 b2 D, l3 Z: g0 T3 w/ R1 u" S$ y04:STM32中断优先级管理' Y4 }0 n. c6 x. y8 x

# K, p8 t% g( }4 J

6 v/ }& m+ c' |
; u6 H) X1 S- D4 H; Z9 c, [

3 y9 S; d2 p3 v+ E, ^5 J( o+ c- H# a% @9 V1 o

评分

参与人数 1 ST金币 +5 收起 理由
shaoziyang + 5 很给力!

查看全部评分

赞 1 收藏 3 评论0 发布时间:2017-10-22 00:12

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版