分类:
2012-04-04 21:47:09
原文地址:u-boot源码整体框架 作者:wt87007
源码解压以后,我们可以看到以下的文件和文件夹:
cpu |
与处理器相关的文件。每个子目录中都包括 cpu.c 和 interrupt.c、start.S、u-boot.lds。 cpu.c 初始化 CPU、设置指令 Cache 和数据 Cache 等 interrupt.c 设置系统的各种中断和异常 start.S 是 U-boot 启动时执行的第一个文件,它主要做最早其 的系统初始化,代码重定向和设置系统堆栈,为进入 U-boot 第二阶段的 C 程序奠定基础 u-boot.lds 链接脚本文件,对于代码的最后组装非常重要 |
board |
已经支持的所有开发板相关文件,其中包含 SDRAM 初始化代 码、Flash 底层驱动、板级初始化文件。 其中的 config.mk 文件定义了 TEXT_BASE,也就是代码在 内存的其实地址,非常重要。 |
common |
与处理器体系结构无关的通用代码,U-boot 的命令解析代码 /common/command.c、所有命令的上层代码 cmd_*.c、U- boot 环境变量处理代码 env_*.c、等都位于该目录下 |
drivers |
包含几乎所有外围芯片的驱动,网卡、USB、串口、LCD、 Nand Flash 等等 |
disk fs net |
支持的 CPU 无关的重要子系统: 磁盘驱动的分区处理代码 文件系统:FAT、JFFS2、EXT2 等 网络协议:NFS、TFTP、RARP、DHCP 等等 |
include |
头文件,包括各 CPU 的寄存器定义,文件系统、网络等等 configs 子目录下的文件是与目标板相关的配置头文件 |
doc |
U-Boot 的说明文档,在修改配置文件的时候可能用得上 |
lib_arm lib_avr32 lib_mips lib_nios lib_blackfin lib_nios2 lib_generic lib_ppc lib_i386 lib_sh lib_m68k lib_sparc lib_microblaze |
处理器体系相关的初始化文件 比较重要的是其中的 board.c 文件,几乎是 U-boot 的所有架 构第二阶段代码入口函数和相关初始化函数存放的地方。 |
api examples |
外部扩展应用程序的 API 和范例 |
nand_spl onenand_ipl post |
一些特殊构架需要的启动代码和上电自检程序代码 |
libfdt |
支持平坦设备树(flattened device trees)的库文件 |
tools |
编译 S-Record 或 U-Boot 映像等相关工具,制作 bootm 引导 的内核映像文件工具 mkimage 源码就在此 |
Makefile MAKEALL config.mk rules.mk mkconfig |
控制整个编译过程的主 Makefile 文件和规则文件 |
CHANGELOG CHANGELOG-before-U-Boot-1.1.5 COPYING CREDITS MAINTAINERS README |
一些介绍性的文档、版权说明 |
标为红色的是移植时比较重要的文件或文件夹。