我是靠谱客的博主 从容纸鹤,最近开发中收集的这篇文章主要介绍支持lcd分辨率,驱动修改步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

     所有的修改只涉及到2个文件platformsmdk2440incs2440.h和platformsmdk2440driversdisplays3c2440lcds3c2440disp.cpp
      在s2440.h文件中#define TFT800_600 5,别的一些宏照抄已经有的分辨率的形式改写就好了(包括前肩后肩等这些东西,这些东西要等到系统跑起来之后看lcd的偏移情况来调整了),这个很简单。
      在s3c2440disp.cpp文件中,首先要改的就上S3C2440DISP类的m_nScreenWidth和m_nScreenHeight,他们的初始化都在构造函数中。接下来就是InitializeHardware了,在这其中要修改m_VirtualFrameBuffer的大小,具体修改VirtualAlloc和VirtualCopy的相应参数。当我用0xA0000时去调试10.4寸的屏,出现的是花屏(虽然这是我第一次调试lcd的驱动,没有一点点经验,但是有些事在做之前就应该想想大概有那些东西需要处理的)。在改成了0xF0000之后就ok了。
      接下来要修改的是--(按照原来驱动的注释来说就是)clear rest of frame buffer out。这个就简单了,按照你现在想要的分辨率来写就好了。但是那4个固定的值是什么意思还没有弄清楚,希望知道的兄弟可以说一声。
//for 800*600
for (index = 0; index < 800*600; index++)
{
 if(index < 800*150)
 {
  ptr[index] = 0xf800;
 }
 else if(index < 800*150*2)
 {
  ptr[index] = 0x07e0;
 }
 else if(index < 800*150*3)
 {
  ptr[index] = 0x001f;
 }
 else
 {
  ptr[index] = 0xffff;
 }
}

转载于:https://blog.51cto.com/bluefish/58107

最后

以上就是从容纸鹤为你收集整理的支持lcd分辨率,驱动修改步骤的全部内容,希望文章能够帮你解决支持lcd分辨率,驱动修改步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(92)

评论列表共有 0 条评论

立即
投稿
返回
顶部