全部博文(32)
分类: 嵌入式
2011-04-27 21:29:29
wangjianchangdx2011-04-30 23:42:33
内核启动到“Uncompressing Linux... done, booting the kernel.”挂掉,查询资料得知是Machine ID不一致(U-Boot与Linux中)。
参考:Arm嵌入式移植中关于machine ID的修改
http://www.linuxidc.com/Linux/2011-04/34745.htm
U-Boot中的MID定义在arch/arm/include/asm/mach-types.h,在start_armboot函数,调用init sequence中的board_init中初始化,即定义在mini2440.c的board_init函数中。
Linux中的MID定义在arch/arm/include/asm/mach-types.h中,该文件只有一行,即#include <generated/mach-types.h>
wangjianchangdx2011-04-30 22:01:55
为U-Boot添加nand命令,为将内核烧写到NAND Flash做准备。
s3c2440的NAND Flash Controller和s3c2410的有很大区别
①修改arch\arm\include\asm\arch-s3c24x0\s3c24x0.h中的定义
②修改drivers\mtd\nand\s3c24x0_nand.c中的操作
③在mini2440.h中添加
#define CONFIG_CMD_NAND
#define CONFIG_NAND_S3C2440
#define CONFIG_SYS_MAX_NAND_DEVICE 4
#define CONFIG_SYS_NAND_BASE 0x4E000000