打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
uboot-与linux内核机器码

uboot-与linux内核机器码

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

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

  例如:

linux内核源码中查看机器码相关文件:

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

178 MACHINE_START(S3C2440 , "SMDK2440")
179         /* Maintainer: Ben Dooks <> */
180         .phys_io        = S3C2410_PA_UART,
181         .io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
182         .boot_params    = S3C2410_SDRAM_PA + 0x100,
183
184         .init_irq       = s3c24xx_init_irq,
185         .map_io         = smdk2440_map_io,
186         .init_machine   = smdk2440_machine_init,
187         .timer          = &s3c24xx_timer,
188 MACHINE_END

 

修改机器码,使之与bootloader的机器码相同,这里使用的是u-boot,机器码为168

$vi arch/arm/tools/mach-types

 379 s3c2440                  ARCH_S3C2440            S3C2440                 168           //修改为168

$vi arch/arm/tools/Makefile

 7 include/asm-arm/mach-types.h : $(src)/gen-mach-types $(src)/mach-types
 8         @echo '  Generating $@'
 9         @mkdir -p $(dir $@)                                 //添加这行(?)
10         $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }

$vi include/asm/mach-types.h

375 #define MACH_TYPE_S3C2440              168                //此处不需手动修改 (?)

 

U-boot中的相关配置文件

$vi include/asm-arm/mach-types.h

377 #define MACH_TYPE_S3C2440              168

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux2.6.34.2在TQ6410上的移植详解
u-boot和linux的机器码
制作uImage镜像
TQ2440的学习——LINUX移植(内核的初步分析及修改)
Porting the Linux Kernel to Arm
S5PV210之Kernel移植一
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服