arm-none-eabi/bin/ld: build/com.zubax.gnss.elf section `.text' will not fit in region `flash'

出现如下错误:

/arm-none-eabi/bin/ld: build/com.zubax.gnss.elf section `.text' will not fit in region `flash'
/arm-none-eabi/bin/ld: region `flash' overflowed by 5869 bytes

bootloader编译,.text已经超过预设大小。修改方案有两个:

精简代码
修改MEMORY预设值

ChibiOS
以ChibiOS为例,修改ld.ld文件和Makefile文件

# vi ld.ld

MEMORY
{
MEMORY
{
    flash : org = 0x08000000, len = 32512/*增大此值*/   /* 32K for the bootloader minus 256 for the signature */
    ram   : org = 0x20000100, len = 65280   /* First 256 bytes are reserved for bootloader/app communication */
}
}
# vi Makefile

APPLICATION_OFFSET = 32512  //与ld.ld中修改值对应,代码中会用到
posted @   thomas_blog  阅读(807)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示