uboot主Makefile分析1

本文详细解析了U-Boot版本号的构成及其配置过程,包括主版本号、次版本号、再次版本号及附加版本信息,并介绍了如何通过修改Makefile来更新版本号。同时,文中还阐述了如何获取主机架构(HOSTARCH)和主机操作系统(HOSTOS)的信息,以及这些信息在编译过程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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主机操作系统的意思

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值