您的位置:首页 > 其它

sharp LCD 在9263平台上的显示(kernel部分)

2010-03-16 13:55 204 查看
年前在uboot上把5.7 和10.4的LCD都驱起来了,年后工作要把内核部分显示做好,至今已解决在内核上的显示,遇到的问题下面说下。

(1) 注意编译内核的工具要用arm-none-linux-gnueabi 否则在编译内核的时候有一些选项编译

不过!

(2) 想让kernel的启动信息显示在LCD上依次有以下操作:

修改启动代码的环境变量setenv bootargs ethaddr=3a:1f:34:08:54:54 bootdelay=3 baudrate=115200

stdin=serial stdout=serial stderr=serial bootargs=mem=64M console=tty0,115200 root=/dev/mtdblock0

rw rootfstype=jffs2 bootcmd= cp.b 0xC0040000 0x22200000 0x00185800;bootm 0x22200000

其中tty0代表显示在LCD上,ttyS0只显示在串口上!

这块板子利用脚本文件生成了一个环境变量文件,将环境变量文件通过sam-ba写到0x4000的位置,那么系统启动的时候

uboot上的环境变量不起作用了,起作用的是环境变量文件中的值!

内核配置上将boot option上的CMDLINE上的console也改成tty0,添加Device drivers中的graphics support ->virtual framebuffer support ,添加console display driver supper->framebuffer console support 及其下的几项 其中字体的那项我选择的是8*16的

至此编译烧写到0x40000位置,启动可看到启动信息!

(3) 启动后发现 显示mtd->read(***) return ECC error

经过上网浏览一些信息+看Uboot的nand_ecc部分的代码发现board->atmel->9263

- >nand.c中nand->eccmode= NAND_ECC_SOFT;

内核选项中也把hardware ECC 改成Software ECC 解决此问题!

(4)kernel panic -not syncing:Attempted to kill init

此问题需选中Kernel Features下的EABI和Allow old ABi两项 可以解决

如果出现abi=aapcs-linux问题 用arm-none-linux-gnueabi 编译工具可解决!

补充:./mkimage -A arm -O Linux -T kernel -C none -a 0x20008000 -e 0x20008000 -n 'Linux-2.6.27'

-d ./zImage ./uImage
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: