Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(成功修正 machine ID problem!)-3
2012-01-20 23:14
519 查看
Error: unrecognized/unsupported machine ID (r1 = 0x33f60264).
解决方法一(完全可以,Kernel入板,成功修正 machine ID problem!)
========================================================
Linux内核启动时出现:bad machine ID,原因大致是u-boot传递给内核的machine ID错误,可以手动在内核源代码中添加machine ID.
解决方法:
在u-boot命令行中输入bdinfo
查看板卡信息,我的输出如下:
[ ~ljh@GDLC ]# bdinfo
arch_number = 0x000000C1
env_t = 0x00000000
boot_params = 0x30000100
DRAM bank = 0x00000000
-> start = 0x30000000
-> size = 0x04000000
ethaddr = 08:00:3E:26:0A:5B
ip_addr = 10.1.8.245
baudrate = 115200 bps
修改内核的arch/arm/kernel/head.S,直接将s3c2410的参数赋给内核
# cd linux-2.6.19
# vi arch/arm/kernel/head.S +72
----------------------------------------------
70 __INIT
71 .type stext, %function
72 ENTRY(stext)
/********* add here *********/
mov r0, #0
mov r1, #0xc1
ldr r2, =0x30000100
/********* end add *********/
73 msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
74 @ and irqs disabled
解决方法二(我没找到对应的)
========================================================
修改u-boot,填写ID;
# vi common/cmd_boot.c
----------------------------------------------
31 #if defined(CONFIG_I386)
32 DECLARE_GLOBAL_DATA_PTR;
33 #endif
====>
31 //#if defined(CONFIG_I386)
32 DECLARE_GLOBAL_DATA_PTR;
33 //#endif
...
60 #if !defined(CONFIG_NIOS)
/************** add here ******************/
if(argc==2)
rc = ((ulong (*)(int, char *[]))addr) (0, gd->bd->bi_arch_number);
else
/*************** add end *****************/
61 rc = ((ulong (*)(int, char *[]))addr) (--argc, &argv[1]);
62 #else
63 /*
64 * Nios function pointers are address >> 1
65 */
66 rc = ((ulong (*)(int, char *[]))(addr>>1)) (--argc, &argv[1]);
67 #endif
解决方法一(完全可以,Kernel入板,成功修正 machine ID problem!)
========================================================
Linux内核启动时出现:bad machine ID,原因大致是u-boot传递给内核的machine ID错误,可以手动在内核源代码中添加machine ID.
解决方法:
在u-boot命令行中输入bdinfo
查看板卡信息,我的输出如下:
[ ~ljh@GDLC ]# bdinfo
arch_number = 0x000000C1
env_t = 0x00000000
boot_params = 0x30000100
DRAM bank = 0x00000000
-> start = 0x30000000
-> size = 0x04000000
ethaddr = 08:00:3E:26:0A:5B
ip_addr = 10.1.8.245
baudrate = 115200 bps
修改内核的arch/arm/kernel/head.S,直接将s3c2410的参数赋给内核
# cd linux-2.6.19
# vi arch/arm/kernel/head.S +72
----------------------------------------------
70 __INIT
71 .type stext, %function
72 ENTRY(stext)
/********* add here *********/
mov r0, #0
mov r1, #0xc1
ldr r2, =0x30000100
/********* end add *********/
73 msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
74 @ and irqs disabled
解决方法二(我没找到对应的)
========================================================
修改u-boot,填写ID;
# vi common/cmd_boot.c
----------------------------------------------
31 #if defined(CONFIG_I386)
32 DECLARE_GLOBAL_DATA_PTR;
33 #endif
====>
31 //#if defined(CONFIG_I386)
32 DECLARE_GLOBAL_DATA_PTR;
33 //#endif
...
60 #if !defined(CONFIG_NIOS)
/************** add here ******************/
if(argc==2)
rc = ((ulong (*)(int, char *[]))addr) (0, gd->bd->bi_arch_number);
else
/*************** add end *****************/
61 rc = ((ulong (*)(int, char *[]))addr) (--argc, &argv[1]);
62 #else
63 /*
64 * Nios function pointers are address >> 1
65 */
66 rc = ((ulong (*)(int, char *[]))(addr>>1)) (--argc, &argv[1]);
67 #endif
相关文章推荐
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(machine ID problem)
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(machine ID problem)-1
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->3(machine ID problem)-2
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->1
- Linux-world-2012-January->16(mini2440 uboot201103 系统移植)->2
- Linux-world-2012-January->14(移植uboot-1.3.4到mini2440-256M NAND)
- Linux-world-2012-January->8.3 (supervivi下从nfs文件系统启动)
- 2012-Linux->19(Linux-2.6.32.2内核在mini2440上的移植---根文件系统制作)
- 2012-Linux->19(Linux-2.6.32.2内核在mini2440上的移植---根文件系统制作)
- Linux-world-2012-January->1
- Linux-world-2012-January->2
- Linux-world-2012-January->3
- Linux-world-2012-January->4
- Linux-world-2012-January->9 (dnw2_for_linux(ubuntu)successful version)
- Linux-world-2012-January->12(error: macro names must be identifiers)
- Linux-world-2012-January->5
- Linux-world-2012-January->8.1 (minicom)
- Linux-world-2012-January->13(error: 'S3C24X0_GPIO' has no member named 'GPACON')
- Linux-world-2012-January->11(在USB转串下,minicom出乱码)
- Linux-world-2012-January->6