[其他ST产品] 请问stm32程序编译后rom和ram出奇的大是为什么?

[复制链接]
884|10
 楼主| cr315 发表于 2024-1-4 09:53 | 显示全部楼层 |阅读模式
STM32f103系列,使用里malloc函数,导致编译后,.map文件显示的ram和rom容量增加,超过所有的stmf103系列,如图
但是程序下载进去后,执行正常。
8649465960f7b981a7.png
捧一束彼岸花 发表于 2024-1-13 15:47 | 显示全部楼层
能运行就行,这个不是问题
西洲 发表于 2024-1-13 18:00 | 显示全部楼层
一般是代码没有优化,或者是代码变量定义的太多了
风凉 发表于 2024-1-13 20:00 | 显示全部楼层
在程序中存在未使用的代码和数据,但编译器没有进行优化,将其从最终生成的可执行文件中删除。这些未使用的代码和数据会占用ROM和RAM的空间,导致大小增大。
白马过平川 发表于 2024-1-13 22:00 | 显示全部楼层
程序可能依赖于一些额外的库和依赖项,这些库和依赖项的代码和数据会被包含在最终的可执行文件中,导致ROM和RAM的大小增大。
故意相遇 发表于 2024-1-14 01:00 | 显示全部楼层
程序中的数据结构和变量可能比预期的要大,导致RAM的使用量增加。
温室雏菊 发表于 2024-1-14 03:00 | 显示全部楼层
可能是由于数据类型选择不当、对齐问题或者编译器的默认设置等原因引起的。
春日负喧 发表于 2024-1-14 05:00 | 显示全部楼层
编译器可能默认包含调试信息和符号表,用于调试和符号解析。这些信息会增加可执行文件的大小。
将爱藏于深海 发表于 2024-1-14 07:00 | 显示全部楼层
还是你优化的问题,看看你的编译器优化等级
她已醉 发表于 2024-1-14 11:00 | 显示全部楼层
删除未使用的代码就好了,也许编译出来的固件就不是这样了
失物招領 发表于 2024-1-14 15:00 | 显示全部楼层
感觉还是代码优化的问题,有可能是编译器优化开的不对,或者是代码写的有点乱了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1466

主题

4964

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部