1.board
本目录存放与已有开发板相关的文件。每种开发板有一个子目录,子目录仅存放与开发板相关的c文件和配置文件,不包含开发板CPU架构通用的实现文件。
每个目录下有如下文件(以samsung\smdkc110为例):
Makefile
config.mk
smdkc110.c 和板子相关的代码
flash.c Flash操作代码
u-boot.lds 全局链接文件
2.common
实现u-boot命令行下支持的命令,每一条命令对应一个文件。例如bootm命令对应的是cmd_bootm.c。
3.cpu
与CPU架构相关目录,每一款支持的CPU或架构均在一个子目录下。
每个目录下有如下文件(以s5pc11x为例):
Makefile
config.mk
cpu.c 和处理器相关的代码
interrupts.c 中断处理代码
serial.c 串口初始化代码
start.s 全局开始启动代码。下一篇将分析该文件
4.disk
对磁盘的支持。
5.doc
文档目录。
6.drivers
设备驱动程序目录。比如串口、USB、mmc等。
7.fs
支持的文件系统。u-boot支持cramfs、ext2、fat、fdos、jffs2、reiserfs、ubifs、yaffs2文件系统。
8.include
使用的头文件均在改目录下,还有对各种硬件平台支持的汇编文件、系统配置文件和文件系统支持的文件。
该目录下configs目录有与开发板相关的配置文件。例如smdkv210single.h。
该目录下asm目录有与cpu体系结构相关的头文件,例如asm-arm目录下有arch-s5pc11x目录。
9.lib_xxx
与体系结构相关的库文件。如ARM相关的库放在lib_arm目录下。例如u-boot启动后首先打印的版本信息version_string[]就在board.c中定义。
10.net
与网络协议栈相关的代码,bootp协议、tftp协议、rarp协议和nfs文件系统等实现。
11.tools
生成u-boot工具,例如mkimage。
12.其他
examples等。
sd_fusing:烧写到sd卡的源文件和脚本文件。