读uboot README 摘要

Software Configuration:
==========

There are two classes of configuration variables:

* Configuration _OPTIONS_:
  These are selectable by the user and have names beginning with
  "CONFIG_".

* Configuration _SETTINGS_:
  These depend on the hardware etc. and should not be meddled with if you don't know what you're doing; they have names beginning with
  "CONFIG_SYS_".

Selection of Processor Architecture and Board Type:
---------------------------------------------------

For all supported boards there are ready-to-use default
configurations available; just type "make <board_name>_config".

Example: For a TQM823L module type:

        cd u-boot
        make TQM823L_config

Configuration Options:
----------------------

Configuration depends on the combination of board and CPU type; all
such information is kept in a configuration file
"include/configs/<board_name>.h".

Example: For a TQM823L module, all configuration settings are in
"include/configs/TQM823L.h".

常用的一些配置选项

- Generic CPU options:
                CONFIG_SYS_GENERIC_GLOBAL_DATA
                Defines global data is initialized in generic board board_init_f().
                If this macro is defined, global data is created and cleared in
                generic board board_init_f(). Without this macro, architecture/board
                should initialize global data before calling board_init_f().

                CONFIG_SYS_BIG_ENDIAN, CONFIG_SYS_LITTLE_ENDIAN

                Defines the endianess of the CPU. Implementation of those
                values is arch specific.

- Cache Configuration:
                CONFIG_SYS_ICACHE_OFF - Do not enable instruction cache in U-Boot
                CONFIG_SYS_DCACHE_OFF - Do not enable data cache in U-Boot
                CONFIG_SYS_L2CACHE_OFF- Do not enable L2 cache in U-Boot

- Console Baudrate:
                CONFIG_BAUDRATE - in bps
                Select one of the baudrates listed in

- Boot Delay:   CONFIG_BOOTDELAY - in seconds
                Delay before automatically booting the default image;
                set to -1 to disable autoboot.
                set to -2 to autoboot with no delay and not check for abort
                (even when CONFIG_ZERO_BOOTDELAY_CHECK is defined).

- Autoboot Command:
                CONFIG_BOOTCOMMAND
                Only needed when CONFIG_BOOTDELAY is enabled;
                define a command string that is automatically executed
                when no character is read on the console interface
                within "Boot Delay" after reset.

                CONFIG_BOOTARGS
                This can be used to pass arguments to the bootm
                command. The value of CONFIG_BOOTARGS goes into the
                environment value "bootargs".

- Monitor Functions:
                Monitor commands can be included or excluded
                from the build by using the #include files
                <config_cmd_all.h> and #undef'ing unwanted
                commands, or using <config_cmd_default.h>
                and augmenting with additional #define's
                for wanted commands.

               CONFIG_CMD_XXX

- Default Environment:
                CONFIG_EXTRA_ENV_SETTINGS

                Define this to contain any number of null terminated
                strings (variable = value pairs) that will be part of
                the default environment compiled into the boot image.

                For example, place something like this in your
                board's config file:

                #define CONFIG_EXTRA_ENV_SETTINGS \
                        "myvar1=value1\0" \
                        "myvar2=value2\0"

                Warning: This method is based on knowledge about the
                internal format how the environment is stored by the
                U-Boot code. This is NOT an official, exported
                interface! Although it is unlikely that this format
                will change soon, there is no guarantee either.
                You better know what you are doing here.

                Note: overly (ab)use of the default environment is
                discouraged. Make sure to check other ways to preset
                the environment like the "source" command or the
                boot command first.

                CONFIG_ENV_VARS_UBOOT_CONFIG

                Define this in order to add variables describing the
                U-Boot build configuration to the default environment.
                These will be named arch, cpu, board, vendor, and soc.

                Enabling this option will cause the following to be defined:

                - CONFIG_SYS_ARCH
                - CONFIG_SYS_CPU
                - CONFIG_SYS_BOARD
                - CONFIG_SYS_VENDOR
                - CONFIG_SYS_SOC

                CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG

                Define this in order to add variables describing certain
                run-time determined information about the hardware to the
                environment.  These will be named board_name, board_rev.

- MTD Support (mtdparts command, UBI support)
                CONFIG_MTD_DEVICE

                Adds the MTD device infrastructure from the Linux kernel.
                Needed for mtdparts command support.

                CONFIG_MTD_PARTITIONS

                Adds the MTD partitioning infrastructure from the Linux
                kernel. Needed for UBI support.


                CONFIG_SPL
                Enable building of SPL globally.

               CONFIG_SPL_XXXX 还有好多配置选项,可以添加很多功能到SPL

Board initialization settings:
------------------------------

During Initialization u-boot calls a number of board specific functions
to allow the preparation of board specific prerequisites, e.g. pin setup
before drivers are initialized. To enable these callbacks the
following configuration macros have to be defined. Currently this is
architecture specific, so please check arch/your_architecture/lib/board.c
typically in board_init_f() and board_init_r().

- CONFIG_BOARD_EARLY_INIT_F: Call board_early_init_f()
- CONFIG_BOARD_EARLY_INIT_R: Call board_early_init_r()
- CONFIG_BOARD_LATE_INIT: Call board_late_init()
- CONFIG_BOARD_POSTCLK_INIT: Call board_postclk_init()

Configuration Settings:
-----------------------

- CONFIG_SYS_PROMPT:    This is what U-Boot prints on the console to
                prompt for user input.

- CONFIG_SYS_SDRAM_BASE:
                Physical start address of SDRAM. _Must_ be 0 here.

- CONFIG_SYS_MALLOC_LEN:
                Size of DRAM reserved for malloc() use.

Building the Software:
======================

      $ CROSS_COMPILE=ppc_4xx-
      $ export CROSS_COMPILE

      make NAME_config

      Finally, type "make all", and you should get some working U-Boot
images ready for download to / installation on your system:

- "u-boot.bin" is a raw binary image
- "u-boot" is an image in ELF binary format
- "u-boot.srec" is in Motorola S-Record format

If the system board that you have is not listed, then you will need
to port U-Boot to your hardware platform. To do this, follow these
steps:

1.  Add a new configuration option for your board to the toplevel
    "boards.cfg" file, using the existing entries as examples.
    Follow the instructions there to keep the boards in order.
2.  Create a new directory to hold your board specific code. Add any
    files you need. In your board directory, you will need at least
    the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
3.  Create a new configuration file "include/configs/<board>.h" for
    your board
3.  If you're porting U-Boot to a new CPU, then also create a new
    directory to hold your CPU specific code. Add any files you need.
4.  Run "make <board>_config" with your new name.
5.  Type "make", and you should get a working "u-boot.srec" file
    to be installed on your target system.
6.  Debug and solve any problems that might arise.
    [Of course, this last step is much harder than it sounds.]


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值