u-boot是广泛应用于嵌入式系统的bootloader,该软件主页是http://www.denx.de/wiki/U-Boot
解压缩开代码包后,以下几个目录中分类存放了主要的源码
board目录——用于放置板支持代码,相当于bootloader级的BSP。与特定板相关的代码包括频率合成、GPIO、板参数、调试串口、能源管理、按键处理等。如本例子的板级代码
common目录——用于存放体系结构无关的公共代码,主要是各种命令实现代码、环境变量实现代码等,如bootm命令
cpu目录——用于存放处理器和SOC特定代码,分别存在于以cpu名称命名的子目录中。如arm1136处理器或者是本例中的S3C2410片上系统的特有代码
driver目录——存放硬件驱动的代码,目前还没有做到完全清晰的分离架构相关/无关的代码。如S3C2410 RTC驱动和流行的dm9000百兆网卡驱动
fs目录——存放文件系统代码,包括fat、ext2以及cramfs等
include目录——存放u-boot头文件,相当一部分和linux内核中的一致
lib_xxx目录——存放于xxx架构相关的代码,如浮点routine和实际的引导代码。如arm架构内核引导代码
net目录——存放体系结构无关的网络协议,tftp、bootp等
tools目录——在本机运行的u-boot工具,如用来创建uImage的mkimage工具