所有的修改只涉及到2个文件platform\smdk2440\inc\s2440.h和platform\smdk2440\drivers\display\s3c2440lcd\s3c2440disp.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;
 }
}