stm32后生成编译文件大小探索之二

本文深入探讨了STM32编译后的代码大小,重点关注只读数据(RO-data)、已初始化数据(RW-data)和未初始化数据(ZI-data)对程序存储空间的影响。通过实验,作者发现大数组的初始化与否直接影响其被分配到RW-data或ZI-data区,进而影响最终的程序体积。在执行过程中,RW-data需从ROM复制到RAM,而ZI-data则需在运行时清零。
摘要由CSDN通过智能技术生成

之前总结过编译文件大小的一些研究:
https://blog.csdn.net/ZenNaiHeQiao/article/details/83343504
总结起来是这样的:
(1)
在这里插入图片描述
单片机:生产的编译信息中,包含了
code : 代码信息
RO-data: 只读信息–》程序中的指令 和常量
RW-data: 被初始化的变量
ZI-data: 无需初始化的变量

我做了这么一个实验,
①增加一个很大的数组,不初始化或者初始化为0; 它会被分配到ZI-data信息中。
②增加一个很大的数组,切对其进行初始化, 它会被分配到RW-data信息中

烧录文件的大小=code + RO-data + RW-data
增加ZI-data的大小,bin文件未必增大很多。 应该是,对于不需要初始化赋值的变量,ZI-data信息包含了是一些 起始地址 ,数据大小 等等这一些信息。
芯片需要的RAM大小=RW-data+ZI-data
bin文件我们称之为 ARM映像
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值