当前位置: 代码迷 >> 综合 >> KEIL编译报错 Error: L6220E: Load region LR_IROM1 size (67044 bytes) exceeds limit (65536 bytes)...
  详细解决方案

KEIL编译报错 Error: L6220E: Load region LR_IROM1 size (67044 bytes) exceeds limit (65536 bytes)...

热度:93   发布时间:2024-02-09 08:48:03.0

背景:

之前在做的一个项目使用的是64K内存的芯片,随着功能的更新,空间也渐渐不够用了,于是重新设计了板子,换了128K的芯片,并且keil工程的芯片类型也相对应做更改,一段时间之后,添加代码再编译出现了如下的错误:
在这里插入图片描述

错误原因:

实际上还是超内存了

解决办法:

第一步

128K的芯片,下图红框处应该是图上所示的数据,有些版本的KEIL会在你更换Device时自动更改这个地方;而有些版本需要手动修改。
在这里插入图片描述

第二步

还有一个文件需要统一修改,点击Target - Linker - Edit…,会打开 STM32_Flash.scat 文件,
在这里插入图片描述
这个文件中的 LR_IROM1ER_IROM1 后边的数据与第一步中的数据相同,即图中蓝框处,需要修改为与第一步相同的数据
在这里插入图片描述

最后

如果是其他大小内存的芯片,修改方法是一样的,只不过对应的数据不一样,常用的:

64k — 0x10000
128k — 0x20000
256k — 0x40000
512k — 0x80000

  相关解决方案