Bootleader就是一段程序,它在系统上电时开始执行,初始化硬件设备,准备好软件环境,最后调用操作系统内核。
U-Boot是适合多种CPU的通用引导程序。可以引导多种操作系统支持多种架构的CPU。
U-boot 源码结构:
文件结构:
Board: 开发板相关。对应不同配置的电路板
Cpu: 对应不同的CPU.比如arm920t下就有at91rm9200
Lib_i386类似 : 某一架构下通用的文件。
Include : 通用函数 头文件和开发板配置文件,include/config里放置开发板的配置文件。
Lib_generic 通用的库函数
Conmon : 通用的函数,多是对下一层驱动程序的进一步封装。
Disk : 硬盘接口程序
Drivers : 各类具体设备的驱动程序。
Dtt : 数字温度测量器或传感器的驱动
Fs : filesystem 即文件系统
Nand_spl : U-Boot 一般从Rom ,ROmflash等设备启动,现在开始从nand flash启动,
Net : 各种网络协议
Post :上电自检程序
Rtc : 实时时钟的驱动
Doc 文档,使用文档
Examples : 一些测试程序,可以使用U-Boot下载后运行
Tools : 制作S-Record,U-Boot格式映像的工具
[...筹建中] 嵌入式部分详见:zisu123.sinaapp.com
参考资料:嵌入式Linux应用开发完全手册 韦东山。