STM32——Program Size: Code=55056 RO-data=2252 RW-data=384 ZI-data=100928


在STM32单片机编译后,显示的存储占用信息包括以下几个部分:单位都是字节
Program Size: Code=55056 RO-data=2252 RW-data=384 ZI-data=100928

Code (代码段):

存储程序代码(如函数、指令等)。也称代码段(.text 段)

注意: 代码段大小直接影响Flash存储的占用,需确保不超过芯片的Flash容量。
程序代码的大小,是嵌入式系统中非常重要的指标,尤其是在内存空间有限的情况下,必须尽量优化代码的体积。

RO-data (只读数据段):

存储只读数据(如常量字符串、常量数组等)也称只读数据段(.rodata 段)。

注意: RO-data也存储在Flash中,需确保其大小不超过Flash容量。
这一部分的数据通常在程序启动后不会更改,主要用于存储常量。

RW-data (读写数据段):

存储初始化的全局变量和静态变量。也称读写数据段(.data 段)

注意: RW-data占用RAM,需确保其大小不超过RAM容量。
包含了程序中可以在运行时修改的静态和全局变量。
这些数据会在程序运行时被加载到 RAM 中,并且可以在程序运行时修改。

ZI-data (零初始化数据段):

存储未初始化的全局变量和静态变量,程序启动时会被初始化为零。也称零初始化数据段(.bss 段)

注意: ZI-data也占用RAM,需确保其大小不超过RAM容量。

注意事项:

Flash容量: Code和RO-data存储在Flash中,需确保两者之和不超过芯片的Flash容量。
RAM容量: RW-data和ZI-data存储在RAM中,需确保两者之和不超过芯片的RAM容量

优化: 如果存储空间接近极限,可以通过优化代码、减少全局变量或使用更高效的算法来节省空间。

调试: 如果存储空间不足,需检查是否有不必要的全局变量或未使用的代码。

总结:
Flash占用: Code + RO-data = 55056 + 2252 = 57308 字节

RAM占用: RW-data + ZI-data = 384 + 100928 = 101312 字节

确保这些值不超过芯片的Flash和RAM容量,以避免程序无法正常运行。

占用比例

自己没有遇见过超容量导致的无法调试问题,以下是AI回答
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值