新旧u-boot版本结构

u-boot版本情况

网站:http://ftp.denx.de/pub/u-boot/

1、版本号变化:

20088月及以前

按版本号命名:u-boot-1.3.4.tar.bz2(20088月更新)

20088月以后均按日期命名。

目前最新版本:u-boot-2011.06.tar.bz220116月更新)

2、目录结构变化:

u-boot目录结构主要经历过2次变化,u-boot版本第一次从u-boot-1.3.2开始发生变化,主要增加了api的内容;变化最大的是第二次,从2010.6版本开始。

u-boot-2010.03及以前版本
├── api               
存放uboot提供的接口函数
├── board             
根据不同开发板定制的代码,代码也不少
├── common            
通用的代码,涵盖各个方面,已命令行处理为主
├── cpu               
与体系结构相关的代码,uboot的重头戏
├── disk               
磁盘分区相关代码
├── doc               
文档,一堆README开头的文件
├── drivers           
驱动,很丰富,每种类型的设备驱动占用一个子目录
├── examples          
示例程序
├── fs                
文件系统,支持嵌入式开发板常见的文件系统
├── include           
头文件,已通用的头文件为主
├── lib_
arch        与体系结构相关的通用库文件
├── nand_spl           NAND
存储器相关代码
├── net               
网络相关代码,小型的协议栈
├── onenand_ipl
├── post              
加电自检程序
└── tools             
辅助程序,用于编译和检查uboot目标文件

u-boot-2010.06版本开始把体系结构相关的内容合并,原先的cpulib_arch内容全部纳入arch中,并且其中增加inlcude文件夹;分离出通用库文件lib

u-boot-2010.06及以后版本
├── api               
存放uboot提供的接口函数
├── arch              
与体系结构相关的代码,uboot的重头戏
├── board             
根据不同开发板定制的代码,代码也不少
├── common            
通用的代码,涵盖各个方面,已命令行处理为主
├── disk               
磁盘分区相关代码
├── doc               
文档,一堆README开头的文件
├── drivers           
驱动,很丰富,每种类型的设备驱动占用一个子目录
├── examples          
示例程序
├── fs                
文件系统,支持嵌入式开发板常见的文件系统
├── include           
头文件,已通用的头文件为主
├── lib               
通用库文件
├── nand_spl           NAND
存储器相关代码
├── net               
网络相关代码,小型的协议栈
├── onenand_ipl
├── post              
加电自检程序
└── tools             
辅助程序,用于编译和检查uboot目标文件

3、移植工作涉及的目录情况

uboot代码根目录,可以看出其已经非常庞大,功能也很丰富。
移植工作最主要的是看对应的处理器和开发板代码,2010.06版本以后处理器相关的代码集中在archboard目录。(以前版本主要在cpuboard目录)
先看一下arch目录:
arch
├── arm
├── avr32
├── blackfin
├── i386
├── m68k
├── microblaze
├── mips
├── nios2
├── powerpc
├── sh
└── sparc

arch目录内容比以前的版本干净,每个子目录代表一个处理器类型,子目录名称就是处理器的类型名称。
我们移植的是mips的处理器,所以参考一下arch/mips目录:

arch/mips
├── cpu
├── include
└── lib

arch/mips目录下有三个目录,其他的处理器目录下也是这个结构:
cpu
子目录对应一种处理器的不同产品型号或者系列;
include
子目录是处理器用到的头文件;
lib
目录对应用到处理器公用的代码;

下面看看cpu下的内容,arch/mips/cpu目录下的内容:

arch/mips/cpu
├── asc_serial.c
├── asc_serial.h
├── au1x00_eth.c
├── au1x00_serial.c
├── au1x00_usb_ohci.c
├── au1x00_usb_ohci.h
├── cache.S
├── config.mk
├── cpu.c
├── incaip_clock.c
├── incaip_wdt.S
├── interrupts.c
├── Makefile
└── start.S         
整个uboot代码入口点

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值