移植主要参考http://bbs.sunplusedu.com/showtopic-539.aspx这篇文章,首先设置MTD分区,这主要是在arch/arm/plat-s3c24xx/commom-smdk.c中修改完成,同样,还要禁止ECC,修改drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:
chip->eccmode = NAND_ECC_NONE;
此时可以MAKE了,但要记住使用 Make s3c2410_defconfig产生默认的2410配置,这是由于2410与2440基本相同。
MAKE zImage
在引导内核的时候如果出现error: unrecognized/unsupported machine ID (r1 = 0x31f07d30).错误,我的方法是修改内核的arch/arm/kernel/head.S,直接将s3c2410的参数赋给内核
__INIT
.type stext, %function
ENTRY(stext)
/****************add here*****************/
mov r0, #0
mov r1, #0xc1
// ?ldr r2, =0x30000100 ?(这句我没有添加,似乎也可以)
/***************end add******************/
做完这些后,应该就可以引导了。
用户160912 2009-5-21 09:20