U-BOOT发展到现在,架构已经发生了不少的变化。现在不少开发学习板子上都在用1.1.6版本的。不过发展到现在,UBOOT经历了不少改进,变得越来越标准。
从版本发布的命名上来看,现在的U-BOOT不再用以前版本号的方式进行描述。而采用日期的方式进行发布(例如这次最新版本命名为u-boot-2011.03)。
第一次用UBOOT的时候是从uboot-2010.06入手的,没想到那个版本之后到现在UBOOT的架构已经发生了一个结构上的新转变,主要就是Makefile的功能更加专一化了,板子的配置被移出了Makefile,放到了一个叫做boards.cfg的文件中,文件格式如下:
Target(目标)
ARCH(平台)
CPU(芯片)
Board name(板子名字)
Vendor(生产商)
SoC(CPU类型)
Options(功能)
smdk2410
arm
arm920t
-
samsung
s3c24x0
和以前的老版本比,配置更加规范化了,其实这些就是相关文件分类的一个文件夹的描述。依照这个层次关系,一些S3C24x0系列的学习开发板就可以利用这个来进行配置(比如说tq2440)。
#
# List of boards
板列表
#
# Syntax:
# white-space separated list of entries;
# each entry has the fields documented below.
语法:
列表条目由白色区域隔开。每个列表条目记录有如下数据:
#
# Unused fields can be specified as "-", or omitted if they
# are the last field on the line.
没有使用,,,最新的的以--���代替
#
# Lines starting with '#' are comments.
# Blank lines are ignored.
以#开头是注释。空白行会被忽略
#
# The options field takes the form:
# <board config name>[:comma separated config options]
参数以以下格式:
<相应板的配置文件名字> [以逗号份分割的配置选项]
# Each config option has the form (value defaults to "1"):
# option[=value]
每个配置选项的格式为:(默认值为1)
选项[=值]
# So if you have:
# FOO:HAS_BAR,BAZ=64
# The file include/configs/FOO.h will be used, and these defines created:
# #define CONFIG_HAS_BAR 1
# #define CONFIG_BAZ 64
例如:
FOO:HAS_BAR,BAZ=64
表示文件include/configs/FOO.h 将被使用,并且
# #define CONFIG_HAS_BAR 1
# #define CONFIG_BAZ 64
#
# The list should be ordered according to the following fields,
# from most to least significant:
列表应该按照以下顺序从范围由大到小
#
# ARCH, CPU, SoC, Vendor, Target
#
# To keep the list sorted, use something like
# :.,$! sort -bdf -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
#
# To reformat the list, use something like
# :.,$! column -t
以上是原码头部说明文件:
# Target ARCH CPU Board name Vendor SoC Options
###########################################################################################################
qong arm arm1136 - davedenx mx31
mx31ads arm arm1136 - freescale mx31
imx31_litekit arm arm1136 - logicpd mx31
mx35pdk arm arm1136 - freescale mx35
omap2420h4 arm arm1136 - ti omap24xx
tnetv107x_evm arm arm1176 tnetv107xevm ti tnetv107x
armadillo arm arm720t
ep7312 arm arm720t
impa7 arm arm720t
modnet50 arm arm720t
lpc2292sodimm arm arm720t - - lpc2292
SMN42 arm arm720t - siemens lpc2292
evb4510 arm arm720t - - s3c4510b
a320evb arm arm920t - faraday a320
at91rm9200ek arm arm920t at91rm9200ek atmel at91 at91rm9200ek
at91rm9200ek_ram arm arm920t at91rm9200ek atmel at91 at91rm9200ek:RAMBOOT
以上是部分该文件原码