uboot与linux的机器码

u-boot的机器码和linux的一致,才能引导。

——小白记录,谨慎参考,敬请指导

   开发板:讯为exynos4412

   linux内核的机器码,在arch/arm/tools/mach-types.h中,u-boot的机器码是在u-boot/include/asm-arm/mach-types.h文件中,只要两者保持一致便可,所以可以任意修改其中之一。

  通过查询linux内核 arch/arm/tools/mach-types.h

   smdkc210 MACH_SMDKC210 SMDKC210 2838 //机器码为2838

  但是很遗憾,当我查询uboot中对应的机器码时:u-boot/include/asm-arm/mach-types.h时,并没有找到2838这一机器码,最大仅仅到2718,郁闷了!

.

进过进一步了解,在/board/samsung/smdkc210/smdkc210.c文件的board_init中找到了重点,下面给出代码分析:

int board_init(void)
{
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_DRIVER_SMC911X
smc9115_pre_init();
#endif
#ifdef CONFIG_DRIVER_DM9000 /*网卡支持*/
// dm9000_pre_init();
#endif
gd->bd->bi_arch_number = MACH_TYPE;//机器码,在调用linux内核中用到
gd->bd->bi_boot_params = (PHYS_SDRAM_1+0x100);//启动内核时,参数存放位置,这个在构造标记列表时用到
return 0;
}

查询 /include/configs/itop4412.h得到对MACH_TYPE的定义。

#define MACH_TYPE 2838 //(S5PC210:2838, S5PV310:2925)

到此,终于查到了uboot里面配置的机器码,原来是在这藏着呢,下面查看内核里面的机器码!









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值