您的位置:首页 > 其它

嵌入式开发四:arm嵌入式移植中关于machine ID的修改

2011-04-17 11:00 323 查看
http://blogold.chinaunix.net/u3/101649/showart.php?id=2073912



按以上步骤得出结论如下:

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done

zImage magic = 0x016f2818

Setup linux parameters at 0x30000100

linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySA

C0"

MACH_TYPE = 1999

NOW, Booting Linux......

Uncompressing Linux.............................................................

................................................................. done, booting

the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x000007cf).

Available machine support:

ID (hex) NAME

000000c1 SMDK2410

000005d2 JIVE

0000030e SMDK2440

Please check your kernel config and/or bootloader.



解决办法:

vim arch/arm/mach-s3c2440/mach-smdk2440.c

在最后一段有这句 MACHINE_START(S3C2440 , "SMDK2440")

这里S3C2440就是machine ID的代号~ 呢具体值是多少呢?~

在arch/arm/tools/mach-types中

s3c2440 ARCH_S3C2440 S3C2440 362

原来我们的machine ID是362~

呢bootloader传递进来的值是多少呢?~

Error: unrecognized/unsupported machine ID (r1 = 0x000007cf).

注意到没有?~ 0x7CF转换成10进制也就是1999

修改mach-types中的对应项

s3c2440 ARCH_S3C2440 S3C2440 1999

虽然这样就和下面MINI2440的1999冲突了,但是只要不加入MINI2440的配置就没事

修改后编译,再执行zImage后得下列输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: