Keil 链接错误 Error: L6406E: No space in execution regions with .ANY selector matching
在开发过程当中遇到Keil build错误,检查发现时是链接时出错了。
错误内容为:
Error: L6406E: No space in execution regions with .ANY selector matching
Error: L6407E: Sections of aggregate size 0x44 bytes could not fit into .ANY selector
怀疑有可能某些段的size溢出了。
因为使用的ARM芯片内置flash为64KB,RAM = 8KB,因此不太可能是flash溢出了,很可能是RAM溢出了。
所以尝试了两种解决方法:
第一种是将keil option里面的编译优化选项,从level 0 调高到level 2,看看经过优化还会不会有溢出的问题。
实验的结果是没有溢出了,所以怀疑某些段溢出这个定论是对的,下一步就是要区分是RAM还是Flash溢出了。
第二种,是将一个比较大的函数挂载数组定义成const,也就是放在flash里面,再次build,发现错误也消失了。
看来果然是RAM溢出了。
第二种方法解决
转载:https://www.cnblogs.com/ironx/p/5474935.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了