uboot 系列之-----uboot配置流程分析

uboot系列的版本是uboot-2010.12,基于samsung4412芯片

Uboot里面的字母u代表了“通用”的意思,因此,为了编译出符合特定CPU,特定电路板的启动代码,就必须首先进行配置,告诉编译器需要编译成什么样的体系架构,什么样的cpu等等。

下面以4412为例,讲述配置过程

配置命令为make  smdk4412_config,我们来看这条命令是如何执行的。

首先进入到顶层Makefile文件,找到伪目标%_config

%_config::        unconfig

         @$(MKCONFIG) -A $(@:_config=)

Makefile112行有定义如下:

MKCONFIG       := $(SRCTREE)/mkconfig此处$(SRCTREE)为空

-A是参数

$(@:_config=)表示把make   xxx_config 命令里面的_config去掉,保留xxx

 

所以@$(MKCONFIG) –A $(@:_config=) 分解出来就是 mkconfig –A smdk4412,它的意思就是进入当前目录下的mkconfig文件并且传递两个参数(-A smkd4412)给它。

下面进入到mkconfig文件,看它做了写什么事情:

在文件的开头有如下语句

if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then

                  # Automatic mode

                  line=`egrep -i "^[[:space:]]*${2}[[:space:]]" boards.cfg` || {

                            echo "make: *** No rule to make target \`$2_config'.  Stop." >&2

                  exit 1

         }

如果参数的个数为两个,并且第一个参数为-A就执行then后面的语句,根据命令所提供的参数,我们知道所提供的参数符合这个if语句,then语句的意思就是从boards.cfg文件中寻找第二个参数(此处为smdk4412),如果没有找到,就显示make: *** No rule to make target smdk4412_config  如果有,程序就继续往下执行(此篇文章不接着往下讨论mkconfig的其他内容,下一篇将做详细的分析)。

接着进入boards.cfg文件,在里面可以找到smdk4412标号,可见配置成功!

smdk4412     arm         armv7       smdk4212            samsung        exynos

 

 

 

总结:以上只是对配置的流程做了个大概的分析,详细的配置过程见下一篇文章

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cortex-A7处理器在使用U-Boot引导时的详细流程如下: 1. 上电初始化:当处理器上电时,硬件会进行一系列的初始化操作,例如初始化时钟、外设等。 2. 引导加载:处理器会从预定义的启动设备(例如Flash)中加载U-Boot引导程序到内存中。 3. 启动引导程序:处理器跳转到U-Boot引导程序的入口点,开始执行引导程序的代码。 4. 初始化环境:U-Boot会进行一些基本的初始化操作,例如设置栈指针、初始化寄存器等。 5. 初始化设备:U-Boot会初始化与处理器相关的外设,例如内存控制器、串口控制器等。 6. 读取启动配置:U-Boot会读取配置文件(例如uEnv.txt)或者环境变量,以确定启动参数和启动选项。 7. 加载内核镜像:根据配置文件或环境变量中指定的地址和名称,U-Boot会从启动设备中加载操作系统的内核镜像到内存中。 8. 设置启动参数:U-Boot会将加载的内核镜像的地址、参数等信息传递给内核,以便内核正确启动和初始化。 9. 跳转到内核:U-Boot会通过设置寄存器等方式,将控制权转交给加载的内核镜像的入口点,从而启动操作系统的运行。 需要注意的是,U-Boot是一个开源的引导程序,具体的流程可能会根据不同的硬件平台和U-Boot版本有所差异。上述流程是一般情况下的典型流程,可作为参考。在实际使用中,可以根据需求对U-Boot进行配置和定制,以满足特定的应用场景和需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值