U-Boot中的boards.cfg文件


U-BOOT发展到现在,架构已经发生了不少的变化。现在不少开发学习板子上都在用1.1.6版本的。不过发展到现在,UBOOT经历了不少改进,变得越来越标准。

从版本发布的命名上来看,现在的U-BOOT不再用以前版本号的方式进行描述。而采用日期的方式进行发布(例如这次最新版本命名为u-boot-2011.03)。

U-Boot源代码下载地址 

第一次用UBOOT的时候是从uboot-2010.06入手的,没想到那个版本之后到现在UBOOT的架构已经发生了一个结构上的新转变,主要就是Makefile的功能更加专一化了,板子的配置被移出了Makefile,放到了一个叫做boards.cfg的文件中,文件格式如下: 

Target(目标)

ARCH(平台)

CPU(芯片)

Board name(板子名字)

Vendor(生产商)

SoCCPU类型)

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

以上是部分该文件原码

这里有一个U-Boot的移植:

可以看到,这篇文章中对u-boot的移值在开始就对boards.cfg文件进行操作,当然不这样直接编译也行,但是这样我们就对编译的过程中所需的文件有一个很大概的理解。。。。。还有这几个重要的目录中在编译过程中的作用有一个很好的理解。。。。。

作为小白-_-,,,里面有几个疑问,在这里班门弄斧,仅靠网上查到的资料和自己的理解来解释,,,,高手勿笑

smdk2410这个时什么东东??

为什么完全按照他原有的设置就能移植u-boot到上文作者的开发板中??

S3C2410是Samsung的基于ARM920T宏核的CPU,至少包括S3C2410X和S3C2410A,差异不大。S3C2410X已经EOL了。 

SMDK2410(Samsung MCU Development Kit)是Samsung的S3C2410的Reference   board,即公板。


SMDK2410 for S3C2410 is a platform that is suitable for code development of SAMSUNG's S3C2410, 16/32-bit RISC microcontroller (ARM920T) for hand-held device and general applications.

It shows the basic system-based hardware design which uses the S3C2410. It can evaluate the basic operations of the S3C2410X01 and develop codes for it as well.

SMDK2410 (Samsung MCU Development Kit) consist of S3C2410, boot EEPROM (Flash ROM), SDRAM, LCD interface, two serial communication ports, configuration switches, JTAG interface and status LEDs.


嵌入式开发板的原型,可以说是各大芯片厂商在推出芯片的时候,提供给用户的参考设计。很正常,半导体厂商在推广自己芯片的时候,单单拿芯片给用户看是没有任何吸引力的,一定要给用户看到具体的电路板,具体的接口,能够给客户一个具体的印象,才能够保证推广的效果;半导体厂商给出这些参考设计,也是让用户在设计的时候有一个参考,加快他们产品设计和上市的进度。
无论是8位、16位单片机,还是32位能够运行操作系统的嵌入式处理器,半导体厂商都有这样的参考设计。对应的,市面上有很多向用户提供开发板的厂商

相关内容