u-boot源码结构:版本2010.12 目 录 特 性 解 释 说 明 board 平台依赖 存放电路板相关的目录文件, 例如:RPXlite(mpc8xx)、 smdk2410(arm920t)、 sc520_cdp(x86) 等目录 arch 平台依赖 有arm avr32 blackfin i386 m68k microblaze mips nios2 powerpc sh sparc 目录存放各类CPU相关的目录文件 例如:arm/cpu/arm720t powerpc/cpu/mpc5xx/ mpc5xxx/ lib_ppc 平台依赖 存放对PowerPC体系结构通用的文件, 主要用于实现PowerPC平台通用的函数 lib_arm 平台依赖 存放对ARM体系结构通用的文件, 主要用于实现ARM平台通用的函数 lib_i386 平台依赖 存放对X86体系结构通用的文件, 主要用于实现X86平台通用的函数 include 通用 头文件和开发板配置文件, 所有开发板的配置文件都在configs目录下 common 通用 通用的多功能函数实现 lib_generic 通用 通用库函数的实现 net 通用 存放网络的程序 fs 通用 存放文件系统的程序 post 通用 存放上电自检程序 drivers 通用 通用的设备驱动程序,主要有以太网接口的驱动 disk 通用 硬盘接口程序 rtc 通用 RTC的驱动程序 dtt 通用 数字温度测量器或者传感器的驱动 examples 应用例程 一些独立运行的应用程序的例子,例如helloworld tools 工具 存放制作S-Record或者u-boot格式的映像等工具, 例如mkimage doc 文档 开发使用文档 u-boot的源代码包含对几十种处理器、数百种开发板的支持。可是对于特定的开发板,配置编译过程只需要其中部分程序。这里具体以powerpc为例,具体分析mpc85xx系列处理器和开发板所依赖的程序,以及u-boot的通用函数和工具。 编译: 编译分为两部分 ./mkcomfig make 在mkconfig 文件开头给出了$1-$6的用法:Board [VENDOR] [SOC] 1、 $1 开发板名字 $2 arch $3 cpu name $4 board $5vendor $6soc ./mkconfig QORIQ_RDB powerpc mpc85xx QORIQ_RDB null QORIQ_RDB 与开发板里执行make smdk2410_config 等效 2、对./mkconfig 主要做了三件事 1、在include文件夹下建立相应的文件(夹)软连接, asm -> ../arch/powerpc/include/asm #ln -s asm-$2 asm #ln -s arch-$6 asm-arm/arch 2、生成Makefile包含文件include/config.mk,内容很简单,定义了四个变量: 1 ARCH = powerpc 2 CPU = mpc85xx 3 BOARD = QORIQ_RDB 4 VENDOR = null 5 SOC = QORIQ_RDB 3、生成include/config.h头文件 /* Automatically generated - do not edit */ 2 #define CONFIG_BOARDDIR board/null/QORIQ_RDB 3 #include <config_defaults.h> 4 #include <configs/QORIQ_RDB.h> 5 #include <asm/config.h> make s |
|
来自: langhuayipian > 《bootloader》