一、系统启动后,屏幕花屏,排除解决方法:
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妯″紡
经过重新编译内核后,屏幕花屏问题解决