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