背景:
Board ar9331(ap121)
Cpu mips
1、首先弄清楚什么是u-boot
Uboot是德国DENX小组的开发,它用于多种嵌入式CPU的bootloader程序, uboot不仅支持嵌入式linux系统的引导,当前,它还支持其他的很多嵌入式操作系统。
除了PowerPC系列,还支持MIPS,x86,ARM,NIOS,XScale。
2、下载完uboot后解压,在根目录下,有如下重要的信息(目录或者文件)
以下为为每个目录的说明:
Board:和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,子目录存放和开发板相关的配置文件。它的每个子文件夹里都有如下文件
(以ar7240/ap121和ar7240/common为例):
ar7240/ap121目录下有:
Makefile
config.mk
ap121.c 和板子相关的代码
flash.c Flash操作代码
hornet_pll_init.S
u-boot.lds 对应的链接文件
u-boot-bootstrap.lds
ar7240/common目录下有:
ar7240_flash.c
ar7240_flash.h
ar7240_s26_phy.c
ar7240_s26_phy.h
phy.h
lowlevel_init.S
common:实现uboot命令行下支持的命令,每一条命令都对应一个文件。例如bootm命令对应就是cmd_bootm.c
cpu:与特定CPU架构相关目录,每一款Uboot下支持的CPU在该目录下对应一个子目录,比如有子目录/cpu/mips和/cpu/mips/ar7240。它的每个子文件夹里都有入下文件:
/cpu/mips目录下有如下文件:
Makefile
config.mk
cpu.c 和处理器相关的代码s
Interrupts.c 中断处理代码
cache.S
start.s 全局开始启动代码
start_bootstrap.S
/cpu/mips/ar7240
Makefile
meminit.c
hornet_serial.c
hornet_ddr_init.S
ag7240.c
ag7240.h
ag7240_phy.h
drivers:Uboot支持的设备驱动程序都放在该目录,比如网卡,支持CFI的Flash,串口和USB等。包含如下文件:
Makefile
netconsole.c
include:Uboot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的文件。该目录下configs目录有与开发板相关的配置文件,如ar7240.h和ap121.h。该目录下的asm目录有与CPU体系结构相关的头文件,比如说mips对应的有asm-mips。
lib_xxx:与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。
net:与网络协议栈相关的代码,BOOTP协议、TFTP协议、RARP协议和HTTPD协议。
rtc: 与时间设置相干的代码,目录下有如下文件:
Makefile
date.c
tools:生成Uboot的工具,如:mkimage等等。
本文转自:onejacky的专栏
联系客服