u-boot启动流程分析

理解u-boot的启动流程,是理解u-boot工作原理的基础,也是掌握u-boot移植方法的必要知识。

u-boot源码结构

从网上下载得到u-boot源码包,此处使用的是u-boot-2009.11.tar.bz2
解压有30多个子目录,分别存放其规律,可以分为3类
第一类目录与处理器体系结构或者开发板硬件直接相关
第二类目录是一些通用的函数或驱动程序
第三类目录是u-boot的应用程序、工具或文档

目录 特 性 解释说明
board 平台依赖 存放电路板相关的目录文件,如RPXlinte(mpc8xx)、smdk2410(arm920t)、sc520_cdp(x86)等目录
cpu 平台依赖 存放CPU相关的目录文件,如mpc8xx、ppc4xx、arm720t、arm920t、xscale、i386等目录
lib_xxx 平台依赖 与体系解构相关的库文件,如与ARM相关的库放在lib_arm中
include 通用 u-boot使用的头文件,还有支持各种硬件平台的编译文件、系统的配置文件和支持文件系统的文件。该目录下的configs目录中有与开发板相关的配置文件
common 通用 实现u-boot命令行下支持的命令,每一条命令都对应一个文件。例如bootm命令对应的就是cmd_bootm.c
lib_generic 通用 通用库函数的实现
net 通用 与网络协议栈相关的代码,BOOTP、TFTP、RARP、和NFS文件系统的实现
fs 通用 支持文件系统,如cramfs、fat、fdos、jffs2和registerfs
drivers 通用 u-boot支持的设备驱动程序都放在该目中,如各种网卡、支持CFI的Flash、串口和USB等
disk 通用 对磁盘的支持
doc 通用 文件目录。uboot有非常完善的文档,推荐大家参考阅读
tools 通用 生成u-boot的工具,如mkimage、crc等
examples 通用 一些独立运行的应用程序的例子,如helloword

编译结果

编译完成之后,可以得到u-boot各种个样式的映像文件和符号表。

文件名称 说 明 文件名称 说明
system.map u-boot映像的符号表 u-boot.bin u-boot映像原始的二进制格式
u-boot u-boot映像的ELF格式 u-boot.srec u-boot映像的S-Record格式

u-boot的三种映像格式都可以烧写到Flash中,但需要看加载器能否识别这些格式。一般u-boot.bin最为常用,直接按照二进制格式下载,并且按照绝对地址烧写到Flash中即可。

u-boot工具

在tools目录下会生成u-boot工具,这些工具有时也经常用到。

工具名称 说明 工具名称 说明
bmp_log 制作logo的位图结构体 img2srec 转换S-Record格式映像
envcrc 效验u-boot内部的环境变量 mkimage 制作uImage格式映像
gen_eth_addr 生成以太网接口MAC地址 updater u-boot自动更新升级工具

这些工具都有源代码,可以参考改写它们。其中mkimage是很常用的一个工具,Linux的内核映像和initramfs文件系统映像都可以用该工具转换成u-boot所需的格式。

u-boot 常用命令与测试

在制作好u-boot镜像后,可以通过JTAG和JLINK将其烧写到Flash中。在u-boot上电启动后,敲任意键可以退出自动启动状态,进入命令行。
命令:help或者?
功能:查看当前u-boot版本中支持的所有命令

环境变量相关命令

和shell类似,u-boot也有环境变量。

环境变量 解释说明
bootdelay 执行自动启动(bootcmd中的命令) 的等候秒数
baudrate 串口控制台的波特率
netmask 以太网的网络掩码
ethaddr 以太网的MAC地址
bootfile 默认下载的文件名
bootargs 传递给Linux内核的启动参数
bootcmd 自动启动时执行命令
serverip TFTP服务器端的IP地址
ipaddr 本地的IP地址
stdin 标准输入设备,一般是串口
stdout 标准输出,一般是串口,也可是LCD(VGA)
stderr 标准出错,一般是串口,也可是LCD(VGA)

要查看板子上的环境变量的值可使用printenv命令,没有设置的环境变量不会打印出来。也可以自己定义环境变量,并在命令中使用${环境变量}来调用它,也可以删除这个环境变量。设置环境变量命令是setenv
其格式为:setenv name value
第一个参数是环境变量名称。
第二个参数是要设置的值,如果没有第2个参数,则表示删除这个环境变量。

猜你喜欢

转载自blog.csdn.net/qq_37464479/article/details/126171825