一、系统启动后,屏幕花屏,排除解决方法:

1、根据数据手册,观察lcd屏幕的引脚配置,与引脚复用配置是否正确,对于m283,实际上是飞思卡尔的芯片。

引脚配置复用文件在/arch/arm/mach-mx28/mx28evk_pins.c文件中,这里涉及到了m283的所有引脚配置,可以根据实际原理图和数据手册进行配置与更改。如果lcd复用配置和硬件原理图上是一样的,和数据手册也是对应的。那说明lcd的引脚复用配置没有问题。


2、如果此时lcd屏幕依然是花屏,那很有可能是lcd屏幕的类型选择的不对,对于m283,lcd的类型文件在/drivers/video/mxs/lcd_43wvf1g.c中

经过观察花屏使用的屏幕类型为

#define LCM_TYPE  HW480272F

#if ((LCM_TYPE) == (TM043NDH02))
#define LCM_NAME  "TM043NDH02"
#define DOTCLK_FREQUENCY_HZ   9000000
#define DOTCLK_H_ACTIVE 480 
#define DOTCLK_H_PULSE_WIDTH  41
#define DOTCLK_HF_PORCH  5
#define DOTCLK_HB_PORCH  5
#define DOTCLK_V_ACTIVE  272
#define DOTCLK_V_PULSE_WIDTH 20
#define DOTCLK_VF_PORCH  5
#define DOTCLK_VB_PORCH  5
#define LCD_PANEL_TYPE   MXS_LCD_PANEL_VSYNC                 // VSYNC妯″紡

#elif ((LCM_TYPE) == (HW480272F))
#define LCM_NAME  "HW480272F"
#define DOTCLK_FREQUENCY_HZ   9000000
#define DOTCLK_H_ACTIVE 480 
#define DOTCLK_H_PULSE_WIDTH  41
#define DOTCLK_HF_PORCH  5
#define DOTCLK_HB_PORCH  5
#define DOTCLK_V_ACTIVE  272
#define DOTCLK_V_PULSE_WIDTH 20
#define DOTCLK_VF_PORCH  5
#define DOTCLK_VB_PORCH  5
#define LCD_PANEL_TYPE   MXS_LCD_PANEL_DOTCLK               // DE 妯″紡

而我们使用的是800*480的屏幕,因此应该是

#define LCM_TYPE  TM070RDH13

对应的属性信息为

#elif ((LCM_TYPE) == (TM070RDH13))
#define LCM_NAME  "TM070RDH13"
#define DOTCLK_FREQUENCY_HZ   40000000
#define DOTCLK_H_ACTIVE  800
#define DOTCLK_H_PULSE_WIDTH 6
#define DOTCLK_HF_PORCH  354
#define DOTCLK_HB_PORCH  40
#define DOTCLK_V_ACTIVE  480
#define DOTCLK_V_PULSE_WIDTH  3
#define DOTCLK_VF_PORCH  147
#define DOTCLK_VB_PORCH  20
#define LCD_PANEL_TYPE   MXS_LCD_PANEL_DOTCLK               // DE妯″紡

经过重新编译内核后,屏幕花屏问题解决