MDK编译后生成bin文件占用FLASH大小说明

本文详细解析了一段嵌入式程序的编译过程,包括Code、RO-data、RW-data和ZI-data等段的内存占用情况。在程序烧录时,Code与RO-data存储于Flash,而RW-data与ZI-data在运行时占用RAM。其中,Code为4972字节,RO-data为268字节,RW-data为52字节,ZI-data为1700字节。在上电初始化时,RW-data会从Flash复制到RAM。整个编译和内存管理过程对于理解嵌入式系统的资源利用至关重要。

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

linking…
Program Size: Code=4972 RO-data=268 RW-data=52 ZI-data=1700
FromELF: creating hex file…
After Build - User command #1: C:Keil_v5ARMARMCCbinfromelf.exe --bin -o …OBJUSART.bin …OBJUSART.axf
“…OBJUSART.axf” - 0 Error(s), 0 Warning(s).
Build Time Elapsed: 00:00:20

Code = 4972 :是代码占用4972 的空间
RO-data = 268 : Read Only 表示只读常量,占用268字节,如const型,字符串常量
RW-data = 52 : RW-data 表示已经初始化的可读写变量,占用52字节
ZI-data = 1700 :ZI-data表示未初始化的可读写变量,ZI-data不占用FLASH。

烧写的时,占用FLASH的段为: Code + RO-data + RW-data
程序运行时,芯片内部RAM占用的空间为:RW-data + ZI-data
上电后,初始化时RW-data从FLASH拷贝到RAM
所以生成的bin文件大小为:4972 + 268 + 52 = 5292 即 0x1A4C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值