概述
ARM处理器的芯片商很多,所以每种芯片的开发板都有自己相应的BootLoader。其中,U-Boot(Universal BootLoader)称为通用BootLoader,是目前开发嵌入式系统引导代码使用最广泛的,如今已成为ARM平台事实上额标准BootLoader。
U-Boot是德国DENX小组开发的用于多种嵌入式CPU的BootLoader程序,可以运行在基于PowerPC、ARM、MIPS等多种嵌入式开发板。其本质还是单片机程序。
U-Boot源码的目录结构
从http://u-boot.sourceforge.net/或ftp://ftp.denx.de/pub/u-boot/站点都可以下载U-Boot的源码,其主要目录结构如下:
- boad: 平台依赖;存放与开发板相关的目录文件和源码,与具体开发板的硬件和地址分配有关。
- cpu:平台依赖;存放与CPU相关的目录文件和源码,所有的子目录都是以U-Boot所支持的CPU命名。
- lib_arm:平台依赖;存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数。
- common平台通用;与体系结构无关的代码文件,实现了U-Boot的所有命令,其中内置了一个shell脚本解释器,busybox中也使用了它。
- drivers:平台通用;通用设备驱动程序,如网卡、Flash、串口和USB总线等。
- Doc:文档;U-Boot开发相关文档。
- examples:应用例程;一些可以独立运行的应用程序例子,如helloword。
- include:平台通用;U-Boot与硬件平台相关的头文件和开发板配置文件。