急驰的蚂蚁的笔记 https://bbs.21ic.com/?587964 [收藏] [复制] [RSS]

日志

20100204 6410lcd可以用了

已有 1568 次阅读2010-2-4 06:30 |个人分类:记事|系统分类:ARM

        经过几天的努力,6410开发板可以跑640*480LCD了,之前屏幕闪动的问题找到了,是屏的干扰问题,现在在屏的传送线上贴上铜箔,这个问题就解决了。之前一直认为是LCD驱动没写好。第一段落成功了。


       详细过程,1月22开始接手6410LCD驱动修改,屏是夏普的LQ080V3DG01,以前只是在裸机上配置过LCD寄存器。项目下来了,先部署总体计划,第一段落:用3天看完6410datasheet上display control这章、用四天看完2.6.24内核关于2410的LCD驱动构架、再用两天分析2.6.28上6410的lcd构架、之后的话用两天修改调试LCD驱动,能把LQ080V3DG01驱动起来就ok,耗时9天;第二段落:用2天大概分析MMAP函数,内存管理先不看,使能LCD驱动的MMAP、用4天把6410的5页显示都使能,用2天了解颜色表并且使驱动从16位变成8位色彩,耗时8天。


        第一段落经典回顾:修改驱动的时候,屏幕有点抖动;屏的datasheet不是很详细,很多参数要自己算,刚开始一直认为是驱动参数出了问题,连续换了两天的参数,抖动一直没有消除,在第三天,一次偶然的机会,我把手压在屏幕传输线和液晶屏的接口处,屏幕很正常的显示,为了确定LCD驱动没问题,马上写一个LCD驱动测试程序---图画变换,我再次把手压在传输线和LCD接口处,启动测试代码,屏幕完美的变换,证明我的驱动没有问题。马上把这个发现告诉做硬件的老大,他立马找来了铜箔,并亲自贴在传输线上。把贴好铜箔的LCD拿回来再次测试,屏幕完美显示。接下来测试高级点的东西,一段视频,一段3D opengl显示,屏幕能很正常的显示视频,但3D动画却有点抖动。仔细的分析了下,产生这个问题的原因可能是下面两个问题的其中一个1.3D显示程序有问题,2.还是屏幕的干扰问题。之前的3D动画显示程序是针对800*480的屏,我把它改成了针对我的LQ080V3DG01 大小为640*480的程序,可能是修改的时候出现了问题。我不能确定问题是这两个的哪一个,项目滞留了两天。时间到了二月一号,开发部软件老大回来了,他给了我一块夏普的10.4寸屏LQ104V1DG83,显示大小也是640*480的,把它接上开发板,再运行3D动画,3D界面完美显示,证明我的程序没问题,是LQ080V3DG01的易受干扰的问题。第一段落完成了,用时8天。接下来做第二段落驱动了,MMAP在第一段落提前完成。


        第一段落完成后即2月1号后到今天(2月4号),一直在帮忙装机,准备把6410寄往意大利的CAMP,看他们的3D海图能否在我们板上运行,第一段落的工作刚好够他们测试。


        估计年前要做好第二段落比较困难,所以先花点时间看《linux设备驱动程序》,年后再继续第二段落的开发。


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (2 个评论)

回复 六月的雨 2010-2-5 14:02
您好,最近也在用LQ080的屏,我是在at91rm9200硬件平台上跑程序,用2.4的内核,用s1d13506驱动lcd显示,根据LQ080的datasheet修改参数,试了好多遍都不行,不知您那有LQ080屏的参数的详细资料吗?能否给我发一份,谢谢!邮箱liuyuedeyu@bit.edu.cn
回复 急驰的蚂蚁 2010-2-6 00:57
ok 我把网址发给你