ST意法半导体
直播中

李燕

7年用户 1535经验值
私信 关注
[问答]

使用stm32f070c6构建项目时显示闪存溢出错误怎么解决?

大家好,
我正在使用 STM32f070c6,我正在开发 USB_CDC 的应用程序,当我构建项目时它显示错误
1. .text' 不适合区域“FLASH”
2. ‘FLASH’溢出12480字节
实际上我已经将堆大小增加到 0x400 并将堆栈大小增加到 0x400,在我的程序中我使用了 64 字节的缓冲区大小,
你能帮我解决如何克服闪存溢出错误吗?  








回帖(1)

刘文明

2023-1-5 09:52:37
我对每个 ARM Cortex 做的一些事情:


  • 使用链接时间优化器 (-flto) 进行编译
  • 对于发布版本,除非我绝对需要速度优化,否则我会优化大小 (-Os)
  • 让链接器删除未使用的部分(--gc-sections)
  • 与 newlib-nano 链接 (--specs=nano.specs)
  • 永远不要使用系统调用 (--specs=nosys.specs)

如果这些都不能解决问题,那么您的项目中一定有某些东西分配了大量的 FLASH。任何大型静态常量数组,有机会吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分