Chinaunix首页 | 论坛 | 博客
  • 博客访问: 366303
  • 博文数量: 36
  • 博客积分: 2071
  • 博客等级: 大尉
  • 技术积分: 797
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-20 12:08
文章分类
文章存档

2011年(2)

2010年(34)

我的朋友

分类: 嵌入式

2010-12-03 15:24:14

U-BOOT的目录结构

网上采用的u-boot一般是1.11.2系列的版本,其目录结构介绍的资料比较多,在新一些的版本中U-boot目录结构做了比较大的改变,比以前的版本更加简洁、合理。下面对比其异同,进行进一步讲解。

一、 1.11.2等老版本U-boot目录结构

u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。 

第一类目录与处理器体系结构或者开发板硬件直接相关; 

第二类目录是一些通用的函数或者驱动程序; 

第三类目录是u-boot的应用程序、工具或者文档。 

  

   

      

2010.6不同之处

board

平台依赖

存放电路板相关目录文件

比如Makefileu-boot.lds等都和具体开发板的硬件和地址分配有关。

没有太大别,增加了一些开发板的支持,将一些开发板进行了整理,比如支持的所有三星公司的开发板都统一放在samsung

cpu

平台依赖

存放CPU相关的目录文件

其中的子目录都是以u-boot所支持的CPU为名

比如有子目录arm926ejsmipsmpc8260nios

每个特定的子目录中都包括cpu.cinterrupt.cstart.S其中

cpu.c初始化cpu、设置指令cache和数据cache等;

interrupt.c设置系统的各种终端和异常,比如快速中断,开关中断、时钟中断、软件中断、预取中止和未定义指令等;

start.Su-boot启动时执行的第一个文件,他主要是设置系统堆栈和工作发式,为进入C程序奠定基础。

改动比较大,在2010.6下更名为arch,可能是为了跟内核统一,呵呵。

子目录以体系结构进行统一划分,比如armmipssh等,不像以前那么混乱。

每种体系结构下统一有三个目录: cpulibinclude

cpu目录:存放采用相应体系结构处理器的具体分类,比如arch/arm/cpu下存放的为arm720tarm920t等,包括最新的cortex-a8系列,作用与旧版本的cpu目录下的对应目录相同

lib目录:存放对相应的体系结构CPU通用的文件,等价于旧版本的lib_XX,比如arch/arm/lib目录作用与旧版本根目录下的lib_arm目录相同,以此类推

 include:存放与相应体系结构对应的头文件,例如:arm/arm/include/asm等价于旧版本根目录下include/arm-asm目录

include

通用

头文件和开发板配置文件

所有开发板的配置文件都在configs目录下

去除了跟平台相关的头文件,其它跟以前类似

common

通用

通用的多功能函数实现

与体系结构无关的文件,实现各种命令的C文件。

跟旧版本一致

Lib_arm

平台依赖

存放对ARM体系结构通用的文件

主要用于实现ARM平台通用的函数

ARM体系结构相关的代码。

合并到arch/XXX/lib对应目录下

Lib_ppc

平台依赖

存放对PowerPC体系结构通用的文件

主要用于实现PowerPC平台通用的函数

PowerPC体系结构相关的代码。

Lib_i386

平台依赖

存放对X86体系结构通用的文件

主要用于实现X86平台通用的函数

Lib_generic

通用

通用的多功能函数实现。

等价于新版本的lib目录

net

通用

与网络有关的代码

BOOTP协议、TFTP协议RARP协议和NFS文件系统的实现。

跟旧版本一致

fs

通用

支持文件系统的文件

u-boot现在支持cramfsfatfdosjffs2yaffsregisterfs

增加支持yaffs2ubifs两种文件系统,其它的均一样

post

通用

存放上电自检程序

跟旧版本一致

drivers

通用

通用设备驱动程序

比如各种网卡、支持CFIflash、串口和USB总线等。

跟旧版本一致

重新整理的目录结构,比以前更加合理、整齐,同时增加了许多新的硬件驱动

disk

通用

硬盘接口程序

disk驱动的分区处理代码、

跟旧版本一致

rtc

通用

RTC驱动程序

整合到drivers

dtt

通用

数字温度测量器或者传感器的驱动

整合在drivers/hwmon

doc

通用

开发使用文档

跟旧版本一致

tools

通用

存放制作S-Record 或者 U-Boot格式的映像等工具,例如mkimage

创建S-Record格式文件和U-BOOT images的工具。

跟旧版本一致

examples

通用

一些独立运行的应用程序的例子,例如helloworld

一些独立运行的应用程序的例子。

跟旧版本一致

阅读(8024) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~