1.简介
- U-Boot即
Universal Bootloader
简称(bootloader
的一种),是一个遵循GPL
条款的开源源码项目。其从FADSRROM
,8xxROM
,PPCBOOT
逐步发展演化而来。
其源码目录,编译形式与Linux
内核极相似,事实上,不少u-boot
源码就是相应的Linux
内核源码程序的简化。
2.特点
- 开放源码
- 支持多种嵌入式操作系内核,诸如:
Linux
,VxWorks
等。 - 支持多个处理器(平台)系列,诸如:
PowerPC
,ARM
,x86
,MIPS
等。 - 拥有较高的可靠性与稳定性。
- 高度灵活的功能设置,适合
U-Boot
调试,OS不同引导需求和发布。 - 拥有丰富的设备驱动源码,诸如:串口,以太网,
FLASH
等。 - 较为丰富的开发调试文档和强大的网络技术支持。
3.主要功能
- 支持的功能列表
- 系统引导,支持
NFS
挂载,RAM DISK
(压缩或非压缩)形式的根文件系统。 - 基本辅助功能,强大的操作系统接口功能,可灵活设置,传递多个关键参数给操作系统;支持目标板环境参数的多种存储方式;支持
CRC32
校验。 - 设备驱动,串口,以太网,
FLASH
,LCD
等。 - 上电自检功能,
SDRAM
,FLASH
大小自动检测,SDRAM
故障检测,CPU
型号。 - 特殊功能,
XIP
内核引导。
- 系统引导,支持
4.U-Boot源码
5.U-Boot移植步骤
- 1.配置目标板类型(
makefile
文件) - 2.修改程序链接地址
- 3.修改中断配置
- 4.修改启动代码(假若是从
NandFlash
加载代码启动) - 5.修改内存配置
- 6.添加
NandFlash
读函数 - 7.
NandFlash
初始化函数 - 8.修改
GPIO
配置 - 9.提供
NandFlash
相关宏定义 - 10.注册
NandFlash
设备 - 11.设置
NandFlash
环境
6.启动方式
- 1.启动加载模式
- 亦称"自主"模式,上电后,
bootloader
直接操作性同加载到RAM
中运行,不需要用户介入。
此种模式也是嵌入式产品通用(正常)模式。
- 亦称"自主"模式,上电后,
- 2.下载加载模式
- 此模式下,设备上电后,
bootloader
将通过串口/网络连接等方式,将从远端设备下载文件(内核映像&根文件系统映像),文件先被bootloader
保存在设备的RAM
中,
然后再被bootloader
写入到FLASH
等存储设备中,此种模式在系统更新时使用。
- 此模式下,设备上电后,
参考文献:《Linux嵌入式应用程序开发标准教程(第2版)》