Chinaunix首页 | 论坛 | 博客
  • 博客访问: 338470
  • 博文数量: 45
  • 博客积分: 669
  • 博客等级: 上士
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-27 17:59
文章分类
文章存档

2015年(5)

2014年(6)

2013年(4)

2012年(30)

分类: 嵌入式

2013-01-21 11:39:26

ucgui 移植的前提是已经具备了LCD驱动函数,已经能够实现点亮LCD屏幕,并实现画点以及获取指定点颜色值的功能。一般的显示屏供应商会提供对应的驱动函数。主要有初始化函数void LCD_Init(),屏幕画点函数 Void LCD_DrawPoint(u16 x,u16 y,u16 color),以及获取指定点颜色值的U16 LCD_ReadPoint(u16 x,u16 y)函数。移植的关键在于把这三个函数与ucgui提供的接口函数匹配。

打开GUI\LCDDriver中的LCDDummy.c文件,找到int  LCD_L0_Init(void)初始化函数,LCD_L0_SetPixelIndex(int x, int y, int PixelIndex)画点函数,unsigned int LCD_L0_GetPixelIndex(int x, int y)读取颜色值函数,把LCD驱动函数填入其中,如下图:

 

关于LCD配置的含义的解释,需要根据所选的屏幕的大小,颜色深度做出修改。网络上有很多说明, 在此不再重复。

我在Keil uVision4中碰到的一些问题,做出记录。

编译过程中,出现.    \Output\TFT触摸屏.axf: Error: L6218E: Undefined symbol exit (referred from jerror.o). 错误

在网络上搜到了一些解答,说是在编译配置中选项不能使用微库,如下图:

 

我去掉这个选项后,发现编译能够通过。下载到开发版中,总是不能运行,调试发现,一开始就进入了硬件错误处理中断void HardFault_Handler(void)中。

于是,我又把微库选上,进入了UCGUI/JPEG/jerror.c中,找到error_exit (j_common_ptr cinfo)函数中的exit(EXIT_FAILURE),把这行给注释掉,改用return直接返回。

再次编译,通过。下载到开发板中,能够正常运行。

 

 

 

阅读(8698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~