不同编译器 关于程序占用系统ROM、RAM情况的查看方法

本文介绍了使用MDK(keil)和IAR编译器时如何查看程序占用的ROM和RAM情况。详细解释了Code、RO-data、RW-data及ZI-data的含义,并展示了如何从编译输出窗口及.map文件获取这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不同编译器 关于程序占用系统ROM、RAM情况的查看方法:

  • 某些编译器的build output窗口会打印相关信息;
  • 通过文件***.map 查看;
这里以MDK(keil)和IAR 编译器说明。

MDK:

编译输出窗口的信息:


这里对“Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 ”作出说明:
  • Code是代码占用的空间;
  • RO-data是 Read Only 只读常量的大小,如const型;
  • RW-data是(Read Write) 初始化了的可读写变量的大小;
  • ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;

通过文件 ***.map查看



可以看到,在map文件中,我们可以得到相对来说更详尽的信息。

关于ROM、RAM的占用情况如下:
简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data
程序运行的时候,芯片内部RAM使用的空间为:               RW Data + ZI Data

IAR:

该编译器相对MDK,界面更简洁,so,,,,仅在map文件中可以找到内存的占用情况,如下

通过文件 ***.map查看:


可知:
RAM:16093字节
ROM:三者之和=15668+ 792 +16093

以上,仅个人看法.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值