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

背景:

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

错误原因:

实际上还是超内存了

解决办法:

第一步

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

第二步

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

最后

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

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值