病症:病症:arm启动后应用程序界面显示不正常(左面有部分未能正常显示)也就是左面少一块区域,右面多一部,
原因:lcd显示驱动中场扫描的问题
平台:s3c2416、linux2.6、800*480lcd
解决办法:
修改lcd驱动中部分代码:内核目录下drivers/vidio/s3c_xxx.c(根据实际找适合自己的)
打开文件找到:
- #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include - #include
#include - #include
#include
#include - #if defined(CONFIG_CPU_S3C2450) ||
defined(CONFIG_CPU_S3C2416)
#include
#elif defined(CONFIG_CPU_S3C6400)
#include
#elif defined(CONFIG_CPU_S3C6410)
#include
#endif - #include "s3cfb.h"
- #define ON 1
#define OFF 0 - #define
DEFAULT_BACKLIGHT_LEVEL 2 - #define
H_FP 180 - #define
H_SW 18 - #define
H_BP 40 - #define
V_FP 10#define
V_SW 8#define
V_BP 20
因为是左右的问题,所以找行扫描,定位H_FP和H_BP,这位二者可以简单地理解为扫描的这部分不显示,保持H_FP+H_BP之和不变,适当改变二者,慢慢调试,知道调试到合适为止。每次修改过数值之后,都要重新编译内核下载。
同样的,如果是上下出的问题就应该找V_FP、V_BP原理和上面相同。