首页 > 代码库 > 简易bootloader的LCD白屏问题(mini2440)

简易bootloader的LCD白屏问题(mini2440)

       上次的简易bootloader虽然下载验证成功,可以成功引导内核启动linux,但是LCD一直处于白屏状态,没有显示。而mini2440的vivi就没有这情况,所以问题可能出在一些与LCD有关的初始化上。经过查看原理图和对照源代码,做了一些修改,最后LCD可以正常工作。

修改工作主要就是将对应LCD控制线和数据线的GPIO口进行初始化:

主要代码如下:

void port_init(void)
{
	GPACON  = 0x7fffff;
	GPBCON  = 0x044555;
	GPBUP   = 0x7ff;	 // The pull up function is disabled GPB[10:0]
	GPCCON  = 0xaaaaaaaa;
	GPCUP   = 0xffff;	 // The pull up function is disabled GPC[15:0] 
	GPDCON  = 0x00151544;
	GPDDAT  = 0x0430;
	GPDUP   = 0x877A;
	GPECON  = 0xaa2aaaaa;
	GPEUP   = 0xf7ff;	 // GPE11 is NC
	GPFCON  = 0x55aa;
	GPFUP   = 0xff;		 // The pull up function is disabled GPF[7:0]
	GPGCON  = 1<<8;
	GPGDAT  = 0;
	GPHCON  = 0x16faaa;
	GPHUP   = 0x7ff;	 // The pull up function is disabled GPH[10:0]
	EXTINT0 = 0x22222222;	 // EINT[7:0]
	EXTINT1 = 0x22222222;	 // EINT[15:8]
	EXTINT2 = 0x22222222;	 // EINT[23:16]
}

将 port_init  函数加到boot.c中的主函数里即可。