读书人

fl2440的U-boot-2010.09移栽(七)LCD

发布时间: 2012-07-15 20:20:05 作者: rapoo

fl2440的U-boot-2010.09移植(七)LCD的支持

一、LCD时序配置

fl2440开发板的LCD是3.5寸屏型号是WXCAT35-TG3#001,这是一款320x240分辨率的TFT LCD屏,先来了解一下TFT LCD的时序如下:

fl2440的U-boot-2010.09移栽(七)LCD的支持

图1 TFT LCD时序

(1)VSYNC信号来一个脉冲时,表示一帧的开始

(2) VSPW表示VSYNC信号的脉冲宽度为(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这(VSPW+1)行的数据无效。

(3)VSYNC信号脉冲之后,还要经过(VBPD+1)个(HSYNC)信号周期,有效的行数据才出现。所以,在VSYNC信号有效之后,总共还要经过(VSPW+1+VBPD+1)个无效行,

(4)随后连续发出(LINEVAL+1)行的有效数据

(5)最后是(VFPD+1)个无效行,完整的一帧结束,紧接着就是下一帧的数据了(即下一个VSYNC信号)。

(6)HSYNC信号有效时,表示一行数据的开始

(7) HSPW表示HSYNC信号的脉冲宽度为(HSPW+1)个VCLK信号周期,即(HSPW+1)个像素,这(HSPW+1)个像素的数据无效。

(8)HSYNC信号脉冲之后,还要经过(HBPD+1)个VCLK信号周期,有效的像素数据才会出现。所以,在HSYNC信号有效之后,总共还要经过(HSPW + 1 + HBPD + 1)个无效的像素,第一个有效像素才出现。

(9)随后即连续发出(HOZVAL+1)个像素的有效数据。

(10)最后是(HFPD+1)个无效的像素,完整的一行结束,紧接着就是下一行的数据了(即下一个HSYNC信号)。

TFT LCD的正常工作主要需要配置S3C2440的寄存器LCDCON1~LCDCON5。

二、u-boot支持LCD的配置工作

首先要添加一个文件,driver/video/s3c2410_fb.c,其内容为:

修改driver/video/videomodes.h文件第25行左右为:

紧接着修改driver/video/videomodes.h第81行左右为:

在driver/video/videomodes..c文件struct ctfb_vesa_modes vesa_modes定义中添加(第78行左右)本开发板LCD的相关配置:

在driver/video/videomodes..c文件struct ctfb_res_modes res_mode_init定义中添加(第100行左右)本开发板LCD的相关配置:

紧接着修改driver/video/Makefile文件,在41行后添加:

最后,修改文件board/fl2440/fl2440.c,在文件最后添加:

最后还需要在开发板配置文件中添加LCD屏支持的宏定义,修改文件include/configs/fl2440.h文件,在文件中添加:


重新上电后,uboot的输出就都显示在LCD上了,我们的输入还是选择的串口输入,输入信息也都显示在LCD屏之上效果图如下:

fl2440的U-boot-2010.09移栽(七)LCD的支持

我把uboot的原始显示图片给替换掉了,故显示如上,图片上有些个人信息被我抹掉了。

读书人网 >移动开发

热点推荐