本文目录:uboot基础了解
1. U-boot是什么
2. U-boot主要特性及功能
3. U-boot下载地址
4. U-boot目录结构
5. 如何编译Uboot
6. U-boot工作模式
7. U-boot的存放位置
8. U-boot系列文章汇总
U-Boot
,全称 Universal Boot Loader
,是遵循GPL条款的从FADSROM、8xxROM、PPCBOOT逐步发展演化而来的 开放源码项目。
U-boot
,是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构,其主要作用为:引导系统的启动!目前,U-Boot不仅支持Linux系统的引导,还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android等多种嵌入式操作系统。
开放:开放的源代码
多平台:支持多种嵌入式操作系统,如Linux、NetBSD、android等
生态:有丰富的设备驱动源码,如以太网、SDRAM、LCD等,同时也具有丰富的开发文档。
Uboot开发源码:
https://source.denx.de/u-boot/u-boot
https://ftp.denx.de/pub/u-boot/
其他厂商定制的uboot源码:
野火:https://github.com/Embedfire/ebf_products/tree/master/documentation
目录 | 含义 |
---|---|
arch | 各个厂商的硬件信息,目录下包括支持的处理器类型 |
arch/arm/cpu/xxx | 每一个子文件夹,包含一种cpu系列。每个子文件夹下包含cpu.c(CPU初始化),interrupts.c(设置中断和异常),start.S(U-boot的启动文件,早期的初始化)。 |
board | 与开发板有关,每一个子文件夹代表一个芯片厂家,芯片厂家下,每一个子文件夹,表示一个开发板 |
common | 存放与处理器体系无关的通用代码,可以说为通用核心代码! |
cmd | 存放uboot的相关命令实现部分 |
drivers | 存放外围芯片驱动,网卡,USB等 |
disk | 存放驱动磁盘的分区处理代码 |
fs | 本目录下存放文件系统相关代码,每一个子文件夹表示文件系统 |
net | 网络协议相关代码 |
doc | uboot说明文档 |
include | 各种头文件 |
post | 上电自检代码 |
api | 外部扩展程序的API和示例 |
tools | 编译S-Record或者U-boot镜像的相关工具 |
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CORSS_COMPILE=arm-linux-gnueabihf- colibri-imx6ull_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
ARCH=arm
:arm架构
CROSS_COMPILE
:使用的交叉编译器
如果编译出错,your compile older 6.0,可以参考【1】
colibri-imx6ull_defconfig
:指定一个config
文件,作为相关版型的配置信息
V=1
:这个选项能显示出编译过程中的详细信息,即是verbose编译模式
-j8
:多核并行编译,可以提高编译速度,受硬件限制
U-boot的工作模式有:启动加载模式和下载模式
启动加载模式:
启动加载模式,为Bootloader正常工作模式,一款开发板,正常上电后,Bootloader将嵌入式操作系统从FLASH中加载到SDRAM中运行。
下载模式:
下载模式,就是Bootloader通过通信,将内核镜像、根文件系统镜像从PC机直接下载到目标板的FLASH中。
嵌入式系统,一般使用Flash来作为启动设备,Flash上存储着U-boot、环境变量、内核映像、文件系统等。U-boot存放于Flash的起始地址,所在扇区由Soc规定。
下面是进行U-boot开发期间,感觉比较不错的资料,总结分享一下!
[1] 官方资料:
Uboot官网(http://www.denx.de/wiki/U-Boot/)
Uboot官方指南(http://www.denx.de/wiki/DULG/Manual)
官方指南2(https://u-boot.readthedocs.io/en/latest/index.html)
[2] https://blog.51cto.com/u_9291927/category5
[3] https://blog.csdn.net/ooonebook/category_6484145.html
END
→点关注,不迷路←