前言:本篇主要介绍uboot的一些结构与相关配置,uboot是一款免费开源的芯片启动软件,代码完全开源,由于需要支持不同的芯片,导致代码内容庞大,因此对于初学者我们只需要知道其怎么配置移植就行了,不用关心具体实现,在往后工作中也会有芯片公司直接提供配置好的uboot文件。
关于华清远见的FS4412开发板uboot的配置下载:https://download.csdn.net/download/qq_51447215/85320025
一、uboot源码结构
1、uboot源码获取
2、uboot特点
- 代码结构清晰
- 支持丰富的处理器与开发板,易于移植
- 支持丰富的用户命令
- 支持丰富的网络协议
- 支持丰富的文件系统
- 支持丰富的设备驱动
- 更新活跃、用户较多、资料丰富
- 开放源代码
- 较高的稳定性
- 不具有通用性(不同的处理器、开发板uboot不可通用)
3、uboot源码结构
平台相关代码
即与CPU架构或开发板硬件相关的源码,硬件的改动对应的代码也需要进行修改
arch : 与CPU架构相关的源代码board : 与开发板相关的源代码,包含各种官方评估板对应的源码
平台无关代码
每个CPU通用代码,与CPU架构无关
- api: 应用接口
- common: uboot命令源码
- disk: 对磁盘设备的支持
- drivers: 设备驱动源码
- fs: 对文件系统的支持
- include: 头文件
- lib: 库
- net: 对网络协议的支持
- post: 上电自检程序
- 等
其它
配置文件、帮助文档、示例程序、工具等
- README: 说明文档
- doc: 帮助文档
- Makefile: 编译管理
- CREDITS: 开发者
- COPYING: 版权
- examples: 示例程序
- tools: 工具
二、uboot的配置与编译
1、uboot配置
- 指定当前使用的硬件平台
make <board_name>_config
注1:<board_name>为当前使用的开发板的名字
注2:执行该命令的前提是uboot源码支持该开发板
注3:该命令必须在uboot源码的顶层目录下执行
- 指定编译uboot源码
使用的编译器(arm或x86) 在uboot源码顶层目录下的Makefile中指定(CROSS_COMPILE变量)
2、uboot编译
- 编译uboot
make
注1:该命令必须在uboot源码的顶层目录下执行
注2:该命令执行后在uboot源码顶层目录下生成u-boot.bin
- 清除编译过程中生成的中间文件
make clean make distclean
注1:该命令必须在uboot源码的顶层目录下执行
到这里就结束啦!
|