Keil L6220E:execution region shram00_exec size exceeds limit

该错误是超过设置好的存储大小了,导致编译完后放进去存储设备中。
有几种调整方法使得代码编译通过,如下,
使用keil魔法棒直接改默认的存储值,参考链接[https://blog.csdn.net/qq_22146161/article/details/106715433],属于脚痛医脚的做法,

还有一种修改内存配置文件(.sct),看起来更靠谱些,参考链接[奉加微PHY6212内存不足的决绝办法(http://www.zyiz.net/tech/detail-256759.html)],先看芯片的内存分布,然后查找内存地址映射表,最后再看开放更多的RAM区(或其他内存区),最后去修改内存配置文件。
这看起来才是符合开发实际的做法。

另外,出现编译问题还可以找到官网的guide手册地址,arm keil的error参考[https://www.keil.com/support/man/docs/ARMERR/ARMERR_dom1365073159742.htm],里面有比较详细的该错误代表含义。

.sct文件貌似和分散加载有关系,可以参考这篇STM32自定义分散加载模式的文章[https://www.xiaopingtou.net/question/answer/151085/761749.html],和软件
RO-data、…有关系。

需要看MDK keil arm的编译相关内容,先从生成物入手,RO、ZI///

猜你喜欢

转载自blog.csdn.net/skhhongtu/article/details/121874009
今日推荐