KEIL5编译错误L6406E解决方法

在我们使用KEIL过程中,会遇到各种各样的问题。例如我在使用一个ewmin项目过程中遇到L6406E错误编译通不过,见下图
编著在这里插入图片描述
从输出的提示信息,猜测是空间不够所致,此项目选用的芯片是
512k的Flash,64K的RAM,我试着选用大点的存储空间的芯片的STM32F103ZG,此芯片1M的Flash,96k的RAM,如下图
在这里插入图片描述
试着用keil5.30编译一下,无错误和警告。见下图
在这里插入图片描述
说明刚开始分析空间不够是对的,是flash不够还是RAM不够,我们看输出文件倒数第三行,算一算到底用了多少Flash,多少RAM呢,
Flash:(129344+100912)/1024=225,差不多225k,
RAM=(3476+63116)/1024=65k,显然超过原来芯片的64k范围
接下来可以分析一下*.map文件,是哪些变量占用比较多RAM呢
见下图
在这里插入图片描述
发现guiconf.o文件用的RAM达到46592个字节,差不多45k,所以想从这个文件着手,能否优化一下呢?打开此文件将宏定义修改如下
在这里插入图片描述
减小1K空间,重新选择512kFlash,64kRAM芯片,编译通过。实际将GUI_NUMBYTES数量改小,会不会影响LCD显示效果,只有在实践中再实验了。

  • 13
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值