stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (refer

在TFLCD屏幕中遇到的问题及解决方案

1、问题提出

在对正点原子提供的有关TFLCD屏幕做移植过程中,编译过程中没有报错,但是链接时就出现了报错,报错信息如下图所示:

stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (refer

像这种错误,无法定义到错误所在处,也定义了相关变量,那这种错误怎么造成的呢?大概是在tflcd.o文件中没有找到"POINT_COLOR"和”lcd_dev“这两个变量,那么tflcd.o文件怎么生成的呢?其通过工程中的tflcd.c通过编译生成,也就是我们在c文件中未定义未定义这两个变量。基于此,我们找到问题的来源了。现在我们就来解决此问题。

首先我们可以定义到tflcd.h文件中,可以看到我们定义了三个变量

extern LCD_DEV lcd_dev;		//
extern u16 POINT_COLOR;
extern u16 BACK_COLOR;		//

stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (refer

但是仅这样编译就会出现上面所述的错误,此时我们还要在c文件的最上面,就是头文件下面还要重新定义一下这个变量,定义方式如下所示:

LCD_DEV lcd_dev;
u16 POINT_COLOR;
u16 BACK_COLOR;

stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (refer

此时再编译,问题解决。

参考文档

上一篇:mac 操作 修改 usr/bin 目录权限


下一篇:Mac下/usr/bin无权限