学习记录10-L6406E报错处理

2024-01-10 12:01:27

前言

问题:在编译时报如下错误

..\OBJ\LCD.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.constdata).
..\OBJ\LCD.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcd_init.o(i.LCD_Init).
..\OBJ\LCD.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f10x_gpio.o(i.GPIO_Init).


一、治标

1.将Optimization 等级改为 3级(Level 3)

主要是优化编译程度,但是能优化的大小有限(64K 大小能优化减少1K左右)

2.更改堆容量和栈容量

KEIL 提示L6406E L6407E的解决方法_sramin l6407e-CSDN博客

二、治本

1.查看自己代码的大小

如果为移植的代码,在可以跑的通的文件内,找到.map的文件,用记事本打开

最下面有总代码的大小,也有每个文件的大小。找到内容比较大的文件看看能不能优化

2.优化自己的代码

减少了不必要的代码,空间容量自然就够了(废话,谁不想2K的代码实现2M的功能)

3.换更大容量的芯片

需求高,必要的投资也不能少,不然就只能砍需求了(也是提预算的方法?)

文章来源:https://blog.csdn.net/2301_80596293/article/details/135480361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。