一、uboot源码结构
1.1 uboot源码获取
uboot源码下载
http://www.denx.de/wiki/U-Boot/
uboot版本命名
前期:uboot-1.2.3
现在:uboot-2008.01
uboot版本选择
支持对应的硬件平台
相对成熟的版本(资料多)
1.2 uboot特点
代码结构清晰
支持丰富的处理器与开发板,易于移植
支持丰富的用户命令
支持丰富的网络协议
支持丰富的文件系统
支持丰富的设备驱动
更新活跃、用户较多、资料丰富
开放源代码
较高的稳定性
不具有通用性(不同的处理器、开发板uboot不可通用)
1.3 uboot源码结构
平台相关代码
即与CPU架构或开发板硬件相关的源码,硬件的改动对应的代码也需要进行修改
arch:与CPU架构相关的源代码
board:与开发板相关的源代码,包含各种官方评估板对应的源码
平台无关代码
api: 应用接口
common: uboot命令源码
disk: 对磁盘设备的支持
drivers: 设备驱动源码
fs: 对文件系统的支持
include: 头文件
lib: 库
net: 对网络协议的支持
post: 上电自检程序 ... ...
二、uboot的配置与编译
2.1 uboot配置
1.指定当前使用的硬件平台
make <board_name>_config
注1:<board_name>为当前使用的开发板的名字
注2:执行该命令的前提是uboot源码支持该开发板
注3:该命令必须在uboot源码的顶层目录下执行
2.指定编译uboot源码使用的编译器
在uboot源码顶层目录下的Makefile中指定(CROSS_COMPILE变量)
2.2 uboot编译
1.编译uboot
make
注1:该命令必须在uboot源码的顶层目录下执行
注2:该命令执行后在uboot源码顶层目录下生成u-boot.bin
2.清除编译过程中生成的中间文件
make clean //删除中间文件
make distclean //删除编译生成的所有文件
注1:该命令必须在uboot源码的顶层目录下执行