当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]android平台下lcd调试流程:1)调试lcd背光,背光主要分为PMIC自带的和单独的DCDC,如果为PMIC自带的背光,一般平台厂商已经做好,直接调用接口即可,如果为单独的DCDC驱动,

android平台下lcd调试流程:

1)调试lcd背光,背光主要分为PMIC自带的和单独的DCDC,如果为PMIC自带的背光,一般平台厂商已经做好,直接调用接口即可,如果为单独的DCDC驱动,则需要用GPIO控制DCDC的EN端

2)确认lcd的模拟电,io电是否正常

3)根据lcd的分辨率,RGB/CPU/MIPI等不同的接口,配置控制寄存器接口

4)根据lcd spec配置PCLK的频率,配置PCLK,VSYNC,HSYNC,DE等控制线的极性

5)使用示波器测试所有clk的波形,确认频率,极性是否符合要求

6)使用示波器测试data线,看是否有数据输出,bpp的设置是否正确

7)如果lcd需要初始化,配置spi的接口,一般分为cpu自带的spi控制器,和gpio模拟的spi。

8)根据lcd spec中的初始化代码进行lcd的初始化

9)用示波器测量lcd的spi clk及数据线,确认是否正常输出

 

10)正常情况下,此时lcd应该可以点亮。如果没有点亮,按照上述步骤1到9,逐项进行检查测试,重点检查第5项,clk的极性

11)如果lcd点亮,但是花屏。则需要先确认数据格式是否正确,然后确认fb里的数据是否正常,有以下几种方法确认fb里的数据

i)cat /dev/graphics/fb0 》 /sdcard/fb0,然后将/sdcard/fb0 》到另一台相同分辨率及相同格式的手机上,看图片显示是否正常 ii)使用irfanview软件显示cat /dev/graphics/fb0出来的raw数据,注意要正确设置分辨率及格式,否则显示花屏 iii)如果adb连接正常,可以使用豌豆莢等软件,查看fb中的数据是否正常

通过以上三种途径,如果确认fb中的数据正常显示,则很可能为lcd初始化代码的问题,或者clk极性的问题,如果fb数据不正常,则可能为lcd控制寄存器配置不正常导致。

LCD屏的调试注意事项

1. Pix clock是否在规定的范围内。

2. Pclk是否极性正确。上升沿还是下降沿。

3. 变频引起的闪屏问题。可以通过锁定频率来试验是否是变频引起。

 

LCD擦除程序如何编写?

下面是我去掉lcd驱动的过程:linux3.0.1

1.Make menuconfig

-》 Device Drivers

---》 Graphics support

---》(M)S3C FramebufferSupport (eXtended)

2. -》 Device Drivers

---》MulTImedia support

---》Video capture adapters

---》 (去掉)Samsung TV Driver

 

3.vi drivers/media/video/samsung/fimc/s3c_fimc_core.c

注释掉//ctrl-》open_lcdfifo= s3cfb_enable_local;

//ctrl-》close_lcdfifo = s3cfb_enable_dma;

否则会出现如下错误:

/home/yubo/linux/zImage/3.0.1nolcd/drivers/media/video/samsung/fimc/s3c_fimc_core.c:468:undefined reference to `s3cfb_enable_local‘

/home/yubo/linux/zImage/3.0.1nolcd/drivers/media/video/samsung/fimc/s3c_fimc_core.c:468:undefined reference to `s3cfb_enable_dma’

4.vi drivers/video/samsung/Makefile

注释掉#obj-$(CONFIG_FB_S3C_EXT) += s3cfb.o否则make modules会出错

5. 拷贝drivers/video/cfbcopyarea.ko

drivers/video/cfbfillrect.ko

drivers/video/cfbimgblt.ko

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭