uboot主Makefile分析1

1、uboot_versionq确定(Makefile的24-29)

(1)uboot的版本号分为3个

VERSION:主版本号

PATCHLEVEL:次版本号

SUBLEVEL:再次版本号

EXTRAVERSION:另外附加的版本信息

这4个用.分隔开构成了最终的版本号

(2)Makefile中版本号最终生成一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号。

(3)include/version_autogenerated.h文件时编译过程中自动生成的一个文件,所以在未编译源目录下面找不到这个文件,在编译过后的uboot中就有了。它里面的内容是一个宏定义,宏定义的值就是我们在Makefile中配置的uboot的版本号。

(4)验证方法:自己修改Makefile中几个Version的有关变量,然后重新编译uboot,然后烧录到sd卡,看uboot打印出来的版本信息。看看变化是不是和自己一致。

2、HOSTARCH和HOSTOS

(1)直接在shell中执行uname -m得到i386,得到的值其实是你当前执行这个命令的电脑的CPU的版本号。

(2)shell中的|叫做管道,管道的作用就是把管道前面的运算式的运算输出结果作为管道后面运算式的输入。

(3)sed -e s/old/new/ 命令是如果命令行打印出old则将new替换old。

其中31-38行代码

HOSTARCH  := $(shell uname -m |

        sed -e s/i.86/i386/                                   #如果打印的是i.86则替换为i3864

        sed -e s/sun4u/sparc64/                         #如果打印的是sun4u则替换为sparc64

        sed -e s/arm.*/arm/                                

        sed -e s/sa110/arm/

        sed -e s/powerpc/ppc/

        sed -e s/ppc64/ppc/

        sed -e s/macppc/ppc/)

其中41-42行代码

HOSTOS    := $(shell uname -s  |  tr '[:upper:]' '[:lower:]'   |        #打印出来的大写字母改写为小写字母

                      sed -e 's/\(cygwin\).*/cygwin/')                                #打印出的如果是cywin.*则替换为cygwin

(4)HOSHARCH是主机架构的意思,就是表示CPU的架构

(5)HOSTOS主机操作系统的意思

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值