当前位置:首页 >> 信息与通信 >>

U-BOOT中文文档 概述与配置选项


前言:近期在学习 U-Boot,学习过程不外乎学习文档,阅读代码。U-BOOT 源码树提供的 README 文档讲得比较详细, 可以作为一个起点, 看了下网上似乎也没有完全的中文翻译, 因此才有翻译的打算,一方面可以共享,另一方面今后自己查阅起来也比较方便。本系列翻 译的内容来源于 U-BOOT 1.3.4 源码目录下的 README 文件,不足之处,还请各位大侠批 评指正。

r />
概述: =====

本目录包含 U- Boot 的源代码。 U-Boot 是一个用于嵌入式单板的 bootloader, 支持 PowerPC, ARM, MIPS 及其它几种处理器。它可以安装在 boot ROM 中,用来对硬件进行初始化和测 试,或者下载及运行应用代码。

U-Boot 的开发与 Linux 联系紧密:有一部分代码来源于 Linux 内核代码树,两者有一些相 同的头文件,并且 U-Boot 为支持 Linux 映像的启动也提供了特别的支持。

为了使该软件能易于配置及扩展, 我们已经做了一些工作。 比如所有操作命令都以相同的调 用接口实现, 这样便于添加新的命令。 此外, 你还可以在 monitor 上动态地加载及运行代码, 而不是向 monitor 添加不太常用的代码(比如硬件测试程序)。

状态: =====

对于在 Makefile 中存在配置的单板,一般是经过一定的测试,并可以为是"可工作的"。实际 上,很多单板也正式地在生产中使用。

遇到问题时, 请在 CHANGELOG 和 CREDITS 两个文件中查找一个具体的移植是由谁贡献 的。MAINTAINERS 文件列出了单板维护者。

获取帮助: =========

如果你对 U-Boot 有疑问,或者想为 U-Boot 贡献,你应该向 U-Boot 邮件列表<u-

boot-users@lists.sourceforge.net>发送消息。在提问前,请搜索邮件列表的历史记录: http://lists.sourceforge.net/lists/listinfo/u-boot-users/

获取源代码: ===========

U-Boot 源代码使用 git 仓库维护,地址为:git://www.denx.de/git /u-boot.git;你也可以在线 浏览:http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git; a=summary

该页面的"snapshots"链接允许你下载任一版本的源码树。官方发布可以通过 FTP 下载: ftp://ftp.denx.de/pub/u-boot/

预编译(并经过测试)的映像可以从这里下载:ftp://ftp.denx.de/pub/u-boot/images/

我们来自哪里: =============

- 从 8xxrom 源代码开始 - 建立了 PPCBoot 项目 (http://sourceforge.net/projects/ppcboot) - 清理代码 - 让代码更易于添加自定义单板 - 可以添加其它类型的 [PowerPC] CPU - 扩展了函数,特别是: * 为 Linux 引导程序提供了扩展的接口 * 下载 S-Record * 从网络引导 * 从 PCMCIA / CompactFlash / ATA disk / SCSI ... 等设备引导 - 建立了 ARMBoot 项目 (http://sourceforge.net/projects/armboot) - 添加了其它 CPU 家族 (从 ARM 开始) - 建立了 U-Boot 项目 (http://sourceforge.net/projects/u-boot) - 当前项目的主页: http://www.denx.de/wiki/U-Boot

命名与拼写: ===========

本项目的官方名称为"Das U-Boot"。在所有文档中都应使用"U-Boot"。比如:

这是 U-Boot 项目的 README 文件。

文件名等,也应基于 u-boot 字符串。比如:

include/asm-ppc/u-boot.h

#include <asm/u-boot.h>

变量名,宏定义等,也需要基于 u_boot 或者 U_BOOT 来定义。比如:

U_BOOT_VERSION IH_OS_U_BOOT

u_boot_logo u_boot_hush_start

版本编号: =========

U-Boot 使用 3 级版本编号,包含一个版本,子版本及补丁级别:"U-Boot-2.34.5" 表示版本 2,子版本 34,补丁级别 4。

补丁级别用于表示发行版本间的某个阶段,比如,官方发布版本的补丁级别总是 0。

目录结构: ====================

- board - common - cpu

与单板相关的文件 一些与架构无关的函数 针对特定 CPU 的文件 针对 Freescale MPC74xx 和 7xx CPU 的文件

- 74xx_7xx

- arm720t - arm920t

针对 ARM 720 CPU 的文件 针对 ARM 920 CPU 的文件

- at91rm9200 针对 Atmel AT91RM9200 CPU 的文件 - imx 针对 Freescale MC9328 i.MX CPU 的文件 针对 Samsung S3C24X0 CPU 的文件 针对 ARM 925 CPU 的文件 针对 ARM 926 CPU 的文件 针对 ARM 1136 CPU 的文件 针对 Atmel AVR32 AP CPU 的文件 针对 i386 CPU 的文件 针对 Intel XScale IXP CPU 的文件 针对 Gaisler LEON2 SPARC CPU 的文件 针对 Gaisler LEON3 SPARC CPU 的文件 针对 Freescale ColdFire MCF52x2 CPU 的文件 针对 Freescale ColdFire MCF5227x CPU 的文件 针对 Freescale ColdFire MCF5329 CPU 的文件 针对 Freescale ColdFire MCF5445x CPU 的文件 针对 Freescale ColdFire MCF547x_8x CPU 的文件

- s3c24x0 - arm925t - arm926ejs - arm1136 - at32ap - i386 - ixp - leon2 - leon3

- mcf52x2 - mcf5227x - mcf532x - mcf5445x

- mcf547x_8x - mips

针对 MIPS CPU 的文件 针对 Freescale MPC5xx CPU 的文件 针对 Freescale MPC5xxx CPU 的文件 针对 Freescale MPC8xx CPU 的文件 针对 Freescale MPC8220 CPU 的文件 针对 Freescale MPC824x CPU 的文件 针对 Freescale MPC8260 CPU 的文件 针对 Freescale MPC85xx CPU 的文件

- mpc5xx - mpc5xxx - mpc8xx - mpc8220 - mpc824x - mpc8260 - mpc85xx - nios - nios2 - ppc4xx - pxa - s3c44b0 - sa1100 - disk - doc - drivers

针对 Altera NIOS CPU 的文件 针对 Altera Nios-II CPU 的文件 针对 AMCC PowerPC 4xx CPU 的文件 针对 Intel XScale PXA CPU 的文件 针对 Samsung S3C44B0 CPU 的文件 针对 Intel StrongARM SA1100 CPU 的文件 处理磁盘驱动器分区的代码 文档 (不要报太大期望^_^) 常用的设备驱动

- dtt

数字温度计及调节器的驱动 示范代码 头文件 针对 ARM 架构的文件 针对 AVR32 架构的文件 针对所有架构的文件

- examples - include - lib_arm - lib_avr32 - lib_generic - lib_i386 - lib_m68k - lib_mips - lib_nios - lib_ppc - lib_sparc - libfdt - net - post - rtc - tools 软件配置:

针对 i386 架构的文件 针对 m68k 架构的文件 针对 MIPS 架构的文件 针对 NIOS 架构的文件 针对 PowerPC 架构的文件 针对 SPARC 架构的文件

支持平坦设备树(flattened device trees)的库文件 网络代码 上电自检 实时时钟驱动 编译 S-Record 或 U-Boot 映像等相关工具

=======================

配置一般使用宏定义实现;使用宏的原因是避免可能存在的不可达代码。

有两类配置变量:

* _OPTIONS_ 配置: 这类配置以"CONFIG_"开始,用户可以自行选择。

* _SETTINGS_ 配置: 这类配置以"CFG_"开始,与硬件相关。如果你不清楚它的含义,则不要随便修改。

后面我们会添加一个配置工具,可能类似于 Linux Kernel 配置工具。目前,我们还得手动 完成配置, 比如建一些软链接, 编辑一些配置文件。 下面我们使用 TQM8xxL 单板作为范例。

选择处理器架构与单板类型:

-------------------------

对所有已经支持的单板,有默认配置可以直接使用;只需要输入"make <board_name>_config".

比如: 对一个 TQM823L 单板类型:

cd u-boot make TQM823L_config

对于 Cogent 平台,你需要指定 CPU 类型;比如 "make cogent_mpc8xx_config"。还要根 据 cogent/README 的指导来配置 cogent 目录。

配置选项: ----------------------

配置依赖于单板类型与 CPU 类型;所有这些信息都保存在一个配置文件 "include/configs/<board_name>.h" 中

比如: 对一个 TQM823L 单板,所有配置设置都在文件"include/configs/TQM823L.h"中。

有许多选项与对应的 Linux 内核配置选项名称相同,目的是之后容易做一个配置工具。

需要配置的选项如下:

- CPU 类型:

只能定义一个,比如 CONFIG_MPC85XX.

- 单板类型:

只能定义一个,比如 CONFIG_MPC8540ADS.

- CPU 子卡类型: (如果定义了 CONFIG_ATSTK1000) 只能定义一个,比如 CONFIG_ATSTK1002

- CPU Module 类型 (如果定义了 CONFIG_COGENT) 只能定义下列中的一个:CONFIG_CMA286_60_OLD

--- FIXME --- 尚未经过测试的: CONFIG_CMA286_60, CONFIG_CMA286_21, CONFIG_CMA286_60P, CONFIG_CMA287_23, CONFIG_CMA287_50

- 母板类型: (如果定义了 CONFIG_COGENT) 可以选择下列定义: CONFIG_CMA101, CONFIG_CMA102

- 母板 I/O Modules: (如果定义了 CONFIG_COGENT) 可以择下面的一个或多个定义: CONFIG_CMA302

- 母板选项: (如果定义了 CONFIG_CMA101 或者 CONFIG_CMA102) 可以择下面的一个或多个定义: CONFIG_LCD_HEARTBEAT 位置 - 在 LCD 上每秒钟用旋转字符(即|/-/|/-/)更新字符的

- Board flavour: (如果定义了 CONFIG_MPC8260ADS) CONFIG_ADSTYPE 可选值有: CFG_8260ADS CFG_8266ADS CFG_PQ2FADS CFG_8272ADS - 最初的 MPC8260ADS - MPC8266ADS - PQ2FADS-ZU 或者 PQ2FADS-VR - MPC8272ADS

- MPC824X 家族成员 (如果定义了 CONFIG_MPC824X) 只能定义下列中的一个: CONFIG_MPC8240, CONFIG_MPC8245

- 8xx CPU 选项: (如果使用 MPC8xx CPU) CONFIG_8xx_GCLK_FREQ - 不推荐: 如果 get_gclk_freq()不能工作(比如,没有

32KHz PIT/RTC 参考时钟),用该宏定义 CPU 时钟。

CONFIG_8xx_OSCLK

- 锁相环输入时钟(EXTCLK 或者 XTAL/EXTAL)

- 859/866/885 CPU 选项: (如果使用 MPC859, MPC866 或者 MPC885 CPU): CFG_8xx_CPUCLK_MIN CFG_8xx_CPUCLK_MAX CONFIG_8xx_CPUCLK_DEFAULT 参见文档 doc/README.MPC866

CFG_MEASURE_CPUCLK

定义该宏来测量实际的 CPU 时钟,否则需要保证配置的正确性。通常用于单板确认 锁相环是否锁定到预期的频率上。注意,本功能需要一个稳定的参考时钟 (32kHz RTC 时 钟或者 CFG_8XX_XIN)

- Intel Monahans 选项: CFG_MONAHANS_RUN_MODE_OSC_RATIO

定义 Monahans 的运行模式频率与晶振频率的比值. 有效值为 8, 16, 24, 31. 核心频 率为该值乘以 13MHz.

CFG_MONAHANS_TURBO_RUN_MODE_RATIO

定义 Monahans turbo 模式频率与晶振频率的比值. 有效值为 1(不定义的默认值)和 2. 核心频率是上面计算出的值与该值的乘积. - Linux 内核接口: CONFIG_CLOCKS_IN_MHZ

U-Boot 在内部使用 Hz 保存所有时钟信息。 为了与旧的 Linux 内核(要求 bd_info 数据 内的时钟是 MHZ 单位)达到二进制兼容,可以定义环境变量"clocks_in_mhz",U-Boot 在传 递给 Linux 内核前,将时钟数据转换为 MHZ。 当定义了 CONFIG_CLOCKS_IN_MHZ 时, "clocks_in_mhz=1"的定义会自动包含到 默认的环境中。

CONFIG_MEMSIZE_IN_BYTES

[只与 MIPS 相关]

当向 linux 传递 memsize 参数时,有一些版本的单位是字节,其它的则是 MB,如果 定义 CONFIG_MEMSIZE_IN_BYTES,则参数单位为字节。

CONFIG_OF_LIBFDT

新的内核版本要求使用平坦设备树(基于开放固件的概念)将固件设置传递给内核

CONFIG_OF_LIBFDT * New libfdt-based support * 增加"fdt"命令 * bootm 命令自动更新 fdt

OF_CPU - cpus 节点的名称 OF_SOC - soc 节点的名称 OF_TBCLK - timebase 频率 OF_STDOUT_PATH - 终端设备的路径

带有 QUICC 引擎的单板需要将 OF_QE 设置为 UCC MAC 地址

CONFIG_OF_BOARD_SETUP

单板在将平坦设备树传递给内核前需要做额外的修改

CONFIG_OF_BOOT_CPU

该定义填充到 boot 参数头部的 CPU 部分。如果不定义,默认值为 0。

- 串口: CFG_PL010_SERIAL

如果希望支持 Amba PrimeCell PL010 串口控制器,则定义此宏。

CFG_PL011_SERIAL

如果希望支持 Amba PrimeCell PL011 串口控制器,则定义此宏。

CONFIG_PL011_CLOCK

如果你使用 Amba PrimeCell PL011 串口控制器,将该宏定义为串口控制器的时钟频 率。

CONFIG_PL01x_PORTS

如果你的单板使用 Amba PrimeCell PL010 或者 PL011 串口控制器,定义该宏为一 个列表(注:即数组初始化列表,该数组类型是一个指针数组),列表里每一项为串口的基地 址。例子参见 "include/configs/versatile.h"

- 终端接口: 根据单板的情况,定义一个串口终端(比如 CONFIG_8xx_CONS_SMC1, CONFIG_8xx_CONS_SMC2, CONFIG_8xx_CONS_SCC1, ...), 或者定义 CONFIG_8xx_CONS_NONE 来关闭串口终端

注意: 如果定义了 CONFIG_8xx_CONS_NONE, 串口例程必须在其它地方定义(比 如 serial_init(), serial_getc(), ...)

CONFIG_CFB_CONSOLE 使能终端设备的彩色帧缓冲. 需要下列定义 (cf. smiLynxEM, i8042, board/eltec/bab7xx) VIDEO_FB_LITTLE_ENDIAN VIDEO_HW_RECTFILL (cf. smiLynxEM) VIDEO_HW_BITBLT VIDEO_VISIBLE_COLS VIDEO_VISIBLE_ROWS VIDEO_PIXEL_SIZE 图像芯片支持位块传输(bit-blit) (cf. smiLynxEM) 可视像素列 (cols=pitch) 可视像素行 图像存储组织 (默认为大端序)

图像芯片支持矩形填充(rectangle fill)

每像素字节数 图像数据格式 (0-5, cf. cfb_console.c)

VIDEO_DATA_FORMAT VIDEO_FB_ADRS VIDEO_KBD_INIT_FCT

帧缓冲地址 keyboard int fct

(i.e. i8042_kbd_init()) VIDEO_TSTC_FCT (i.e. i8042_tstc) test char fct

VIDEO_GETC_FCT (i.e. i8042_getc)

get char fct

CONFIG_CONSOLE_CURSOR i8042.c)

打开/关闭 光标绘制 (需要 blink timer cf.

CFG_CONSOLE_BLINK_COUNT blink 间隔 (cf. i8042.c) CONFIG_CONSOLE_TIME CONFIG_CMD_DATE) CONFIG_VIDEO_LOGO 在左上角显示 Linux logo 使用 bmp_logo.h 作为 logo(默认是 在右上角显示时间/日期信息 (需要

CONFIG_VIDEO_BMP_LOGO

linux_logo.h)。 需要 CONFIG_VIDEO_LOGO CONFIG_CONSOLE_EXTRA_INFO 除了 logo 外的其它单板信息

如果定义了 CONFIG_CFB_CONSOLE, 视频终端是默认的 i/o. 使用'console=serial' 环境可以强制使用串口终端

如果定义了 CONFIG_SILENT_CONSOLE, 可以用'silent'环境变量屏蔽所有终端消 息(包括 U-Boot 和 Linux 的输出!)。更多信息见 doc/README.silent

- 终端波特率: CONFIG_BAUDRATE - 以 bps 为单位 选择一个 CFG_BAUDRATE_TABLE 列出的波特率。 CFG_BAUDRATE_TABLE 见下面。 CFG_BRGCLK_PRESCALE, baudrate prescale

- 中断驱动的串口输入: CONFIG_SERIAL_SOFTWARE_FIFO

仅用于 PPC405GP。 使用一个中断处理程序来接收串口数据。它将使能并使用硬件握手(RTS/CTS)和串口 内置 FIFO。必须设置中断驱动的输入缓冲的字节数。

不定义该宏则禁用此特性, 包括禁用缓冲和硬件握手。

- 终端 UART 编号:

CONFIG_UART1_CONSOLE

仅用于 AMCC PPC4xx。 如果定义该宏,则使用内部 UART1 作为默认的 U-Boot 终端 (否则使用 UART0)

- 引导延时:

CONFIG_BOOTDELAY - in seconds

在自动引导默认映像前的延时,设为-1 表示禁用自动引导。

与 CONFIG_BOOTDELAY 相关的选项见 doc/README.autoboot. 这些选项都不是 必需的。 CONFIG_BOOT_RETRY_TIME CONFIG_BOOT_RETRY_MIN CONFIG_AUTOBOOT_KEYED CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR CONFIG_AUTOBOOT_DELAY_STR2 CONFIG_AUTOBOOT_STOP_STR2 CONFIG_ZERO_BOOTDELAY_CHECK CONFIG_RESET_TO_RETRY

- 自动引导命令: CONFIG_BOOTCOMMAND 只有定义了 CONFIG_BOOTDELAY 时,才需要定义这个宏。如果在引导延时内没有 字符输入,则自动执行该宏定义的命令字符串。

CONFIG_BOOTARGS 该宏用于向 bootm 命令传递参数。CONFIG_BOOTARGS 的值也被赋给环境变量 "bootargs"

CONFIG_RAMBOOT and CONFIG_NFSBOOT 两个宏值分别被赋给环境变量"ramboot"和"nfsboot"。用于简化从 RAM 和 NFS 两种 引导途径之间的切换。

- 预引导命令:

CONFIG_PREBOOT

如果定义了该选项,则在进行引导延时的计时前或者运行自动引导命令前,检查环境 变量"preboot"是否存在,如果存在则进入交互模式。

该功能在"preboot"是由程序自动生成或修改的情况下比较有用。比如,LWMON 单板 的代码:当引导系统时,如果用户按下特定组合键,preboot 会被修改。

- Serial Download Echo Mode: CONFIG_LOADS_ECHO 如果定义为 1,在串口下载(使用"loads"命令)过程中,会对所有收到的字符进行回显。 在某些终端上可能有用(如"cu"),但对大多数终端只是浪费时间。这个设置定义了 "loads_echo"环境变量的默认值。

- Kgdb 串口波特率: (如果定义了 CONFIG_CMD_KGDB) CONFIG_KGDB_BAUDRATE 选择一个 CFG_BAUDRATE_TABLE 列出的波特率,见下面。 - Monitor 功能: 可以用#include "config_cmd_all.h"包含所有 Monitor 命令, 并用#undef 去掉不需要的 命令。也可以使用"config_cmd_default.h",并#define 需要的命令。

下列命令里,不带*号的是默认的命令配置

CONFIG_CMD_ASKENV

* ask for env variable 支持自动脚本

CONFIG_CMD_AUTOSCRIPT CONFIG_CMD_BDI CONFIG_CMD_BEDBUG CONFIG_CMD_BMP CONFIG_CMD_BSP CONFIG_CMD_BOOTD CONFIG_CMD_CACHE bdinfo

* 包含 BedBug 调试器 * BMP 支持 * 单板相关命令 bootd * icache, dcache coninfo * 支持 RTC, date/time... * 支持 DHCP * 诊断

CONFIG_CMD_CONSOLE CONFIG_CMD_DATE CONFIG_CMD_DHCP CONFIG_CMD_DIAG

CONFIG_CMD_DOC CONFIG_CMD_DTT CONFIG_CMD_ECHO CONFIG_CMD_EEPROM CONFIG_CMD_ELF CONFIG_CMD_ENV CONFIG_CMD_FDC CONFIG_CMD_FAT CONFIG_CMD_FDOS CONFIG_CMD_FLASH CONFIG_CMD_FPGA CONFIG_CMD_HWFLOW CONFIG_CMD_I2C CONFIG_CMD_IDE CONFIG_CMD_IMI CONFIG_CMD_IMLS CONFIG_CMD_IMMAP CONFIG_CMD_IRQ CONFIG_CMD_ITEST CONFIG_CMD_JFFS2 CONFIG_CMD_KGDB CONFIG_CMD_LOADB CONFIG_CMD_LOADS CONFIG_CMD_MEMORY

* Disk-On-Chip Support * Digital Therm and Thermostat echo arguments * 支持 EEPROM 读写 * bootelf, bootvx saveenv * 支持软驱 * 支持 FAT 分区 * 支持 Dos 磁盘 flinfo, erase, protect 支持 FPGA 设备初始化 * RTS/CTS 硬件流控

* I2C 串行总线支持 * IDE 硬盘支持 iminfo 列出所有找到的映像 * 支持 IMMR dump * irqinfo Integer/string test of 2 values * 支持 JFFS2 文件系统 * kgdb loadb loads md, mm, nm, mw, cp, cmp, crc, base,

loop, loopw, mtest CONFIG_CMD_MISC CONFIG_CMD_MMC CONFIG_CMD_MII CONFIG_CMD_NAND CONFIG_CMD_NET CONFIG_CMD_PCI CONFIG_CMD_PCMCIA CONFIG_CMD_PING CONFIG_CMD_PORTIO CONFIG_CMD_REGINFO Misc functions like sleep etc * MMC memory mapped support * MII 实用命令 * NAND 支持 bootp, tftpboot, rarpboot * pciinfo * PCMCIA 支持 * 向网络主机发送 ICMP ECHO_REQUEST * 端口 I/O * 寄存器 dump

CONFIG_CMD_RUN CONFIG_CMD_SAVES CONFIG_CMD_SCSI CONFIG_CMD_SDRAM

run command in env variable * save S record dump * SCSI 支持 * 打印 SDRAM 配置信息 (需要 CONFIG_CMD_I2C) 支持访问 DCR 寄存器 (仅用于 4xx)

CONFIG_CMD_SETGETDCR CONFIG_CMD_SPI CONFIG_CMD_USB CONFIG_CMD_VFD CONFIG_CMD_CDP CONFIG_CMD_FSL

* 支持 SPI 串行总线 * 支持 USB * 支持 VFD (TRAB) * 支持 Cisco Discover Protocol * 支持 Microblaze FSL

例如: 如果你需要除了网络支持外的所有功能,可以配置如下:

#include "config_cmd_all.h" #undef CONFIG_CMD_NET

其它命令: fdt (平坦设备树) 命令: CONFIG_OF_LIBFDT

注意: 如果你不清楚,请不要开启"icache"和"dcache"命令(配置参数 CONFIG_CMD_CACHE)。在 8xx 或 8260 上无法使能数据 cache(访问 IMMR 区间必须不 过 cache), 在其它使用数据 cache 作为初期栈和数据保存的系统里也不能禁用数据 cache。

XXX - 该列表需要更新!

- 看门狗: CONFIG_WATCHDOG 如果定义该变量, 则使能看门狗支持。 必须有平台特定的看门狗实现。 8xx 和 8260 对 CPU,SIU 看门狗功能在 SYPCR 寄存器中使能。

- U-Boot 版本: CONFIG_VERSION_VARIABLE 如果定义该宏,U-Boot 创建一个"ver"环境变量,用于显示"version"命令所打印出的 U-Boot 版本。本变量是只读的。

- 实时时钟:

如果选择了 CONFIG_CMD_DATE,需要同时选择 RTC 的类型。使用下列定义中的 一个:

CONFIG_RTC_MPC8xx CONFIG_RTC_PCF8563 CONFIG_RTC_MC13783 CONFIG_RTC_MC146818 CONFIG_RTC_DS1307 CONFIG_RTC_DS1337 CONFIG_RTC_DS1338 CONFIG_RTC_DS164x CONFIG_RTC_ISL1208 CONFIG_RTC_MAX6900

- 使用 MPC8xx 的内部 RTC - 使用 Philips PCF8563 RTC - 使用 MC13783 RTC - 使用 MC146818 RTC - 使用 Maxim, Inc. DS1307 RTC - 使用 Maxim, Inc. DS1337 RTC - 使用 Maxim, Inc. DS1338 RTC - 使用 Dallas DS164x RTC - 使用 Intersil ISL1208 RTC - 使用 Maxim, Inc. MAX6900 RTC - 关闭 DS1337 的 OSC 输出

CFG_RTC_DS1337_NOOSC

注意:如果 RTC 使用 I2C,则需要配置 I2C 接口。参加见下面的 I2C 支持。

- 时间戳支持:

如果定义 CONFIG_TIMESTAMP, 与映像相关的命令如 bootm 或 iminfo 会打印给定 映像的时间戳(日期和时间)。如果定义了 CONFIG_CMD_DATE,该选项自动使能。

- 分区支持: CONFIG_MAC_PARTITION, CONFIG_DOS_PARTITION, CONFIG_ISO_PARTITION

如果使能了 IDE 或 SCSI 支持(CONFIG_CMD_IDE 或者 你必须至少配置一种分区类型的支持

CONFIG_CMD_SCSI),

- IDE 复位例程: CONFIG_IDE_RESET_ROUTINE - 在几个单板的配置文件中定义,但并未使用!

CONFIG_IDE_RESET - 如果定义了,会调用下面的函数复位 IDE: ide_set_reset(int reset) 这个函数必须在单板相关文件里定义。

- ATAPI 支持: CONFIG_ATAPI

定义该宏来支持 ATAPI。

- LBA48 支持 CONFIG_LBA48

定义该宏可支持大于 137GB 的磁盘。需要检查 CFG_64BIT_LBA, CFG_64BIT_VSPRINTF 和 CFG_64BIT_STRTOUL 选项。如果不定义它们,LBA48 使用 32 位变量,只能支持到最大 2.1TB 的磁盘。

CFG_64BIT_LBA: 如果使能,则 IDE 子系统使用 64 位的扇区地址,默认是 32 位。

- SCSI 支持: 当前只支持 SYM53C8XX SCSI 控制器; 定义 CONFIG_SCSI_SYM53C8XX 来使 能。

可以调整 CFG_SCSI_MAX_LUN [8], CFG_SCSI_MAX_SCSI_ID [7] 及 CFG_SCSI_MAX_DEVICE [CFG_SCSI_MAX_SCSI_ID * CFG_SCSI_MAX_LUN] 定义 最大 LUN, SCSI ID 及目标的最大设备数。 定义 CFG_SCSI_SYM53C8XX_CCF 以修正 clock timing(时钟时序?) (80Mhz)

- 网络支持 (PCI 设备): CONFIG_E1000 支持 Intel 8254x GE 芯片。

CONFIG_E1000_FALLBACK_MAC 量产后,在 EEPROM 为空时的默认 MAC 地址。

CONFIG_EEPRO100 支持 Intel 82557/82559/82559ER 芯片。还可以定义 CONFIG_EEPRO100_SROM_WRITE 使能首次初始化时的 EEPROM 写流程.

CONFIG_TULIP 支持 Digital 2114x 芯片。 还可以定义 CONFIG_TULIP_SELECT_MEDIA 支持单板特定的 modem 芯片初始 化(KS8761/QS6611).

CONFIG_NATSEMI 支持 National dp83815 芯片.

CONFIG_NS8382X 支持 National dp8382[01] gigabit 芯片.

- 网络支持 (其它设备):

CONFIG_DRIVER_LAN91C96 支持 SMSC 的 LAN91C96 芯片.

CONFIG_LAN91C96_BASE 将该宏定义为 LAN91C96 I/O 空间的物理地址。

CONFIG_LAN91C96_USE_32_BIT 定义该宏以使能 32 位寻址

CONFIG_DRIVER_SMC91111 支持 SMSC 的 LAN91C111 芯片

CONFIG_SMC91111_BASE 定义设备的物理地址 (I/O 空间)

CONFIG_SMC_USE_32_BIT 如果数据总线是 32 位的,定义此宏

CONFIG_SMC_USE_IOFUNCS 如果定义则使用 I/O 函数,否则使用 I/O 宏 (有些硬件不能用宏)

CONFIG_DRIVER_SMC911X 支持 SMSC 的 LAN911x 和 LAN921x 芯片

CONFIG_DRIVER_SMC911X_BASE 定义设备的物理地址 (I/O 空间)

CONFIG_DRIVER_SMC911X_32_BIT 如果数据总线为 32 位,定义此宏

CONFIG_DRIVER_SMC911X_16_BIT 如果数据总线为 16 位,定义此宏。如果处理器自动将 1 个 32 位数据转化为 2 个 16 位数据,可以试着用 CONFIG_DRIVER_SMC911X_32_BIT.

- USB 支持: 目前只支持 UHCI host controller (PIP405, MIP405, MPC5200); 定义 CONFIG_USB_UHCI 来使能。 定义 CONFIG_USB_KEYBOARD 使能 USB 键盘支持,定义 CONFIG_USB_STORAGE 使能 USB 存储设备。 注意: 受支持的是 USB 键盘和 USB 软驱 (TEAC FD-05PUB). MPC5200 USB 需要附加的定义: CONFIG_USB_CLOCK 对 528 MHz 时钟: 0x0001bbbb CONFIG_USB_CONFIG 对差分驱动器: 0x00001000 对单边驱动器: 0x00005000 CFG_USB_EVENT_POLL 可以定义此宏来允许中断查询,否则使用异常中断。

- USB 设备: 如果希望使用 USB 终端,定义下面的宏。 在串口终端重建固件后,使用命令"setenv stdin usbtty; setenv stdout usbtty" 并接上 USB 线缆. "dmesg"命令应该会打印它找到一个新设备. 可以将 usbtty 环境变量设为 gserial

或者 cdc_acm。前者让设备对 USB host 表现为 Linux gserial 设备,后者让设备表现为通 用设备类抽象控制模型(Common Device Class Abstract Control Model)的串行设备。 如果你选择 usbtty = gserial,应该能通过下面的命令枚举一个 Linux host # modprobe usbserial vendor=0xVendorID product=0xProductID 如果你选择 cdc_acm, 将环境变量 usbtty 设为 cdc_acm 就行了. 你还可以在单板配 置头文件中定义下面的宏。

CONFIG_USB_DEVICE 定义该宏来建立一个 UDC 设备

CONFIG_USB_TTY 如果定义该宏,则可以使用一个 tty 类型的设备与 UDC 设备通信

CFG_CONSOLE_IS_IN_ENV 如果你想将标准输入、标准输出、标准错误设为 usbtty,定义该宏。

mpc8xx: CFG_USB_EXTC_CLK 0xBLAH 从外部时钟"blah"导出 USB 时钟。 - CFG_USB_EXTC_CLK 0x02

CFG_USB_BRG_CLK 0xBLAH 从 brgclk 导出 USB 时钟 - CFG_USB_BRG_CLK 0x04

如果你有一个 USB-IF 分配的 VendorID,你可以将自己的 vendor 值定义在 BoardName.h,或者直接定义在 usbd_vendor_info.h. 如果你不定义 CONFIG_USBD_MANUFACTURER, CONFIG_USBD_PRODUCT_NAME, CONFIG_USBD_VENDORID 和 CONFIG_USBD_PRODUCTID, U-Boot 则默认对 target host 表现为 Linux 设备。

CONFIG_USBD_MANUFACTURER 定义公司的名称 - CONFIG_USBD_MANUFACTURER "my company"

CONFIG_USBD_PRODUCT_NAME 定义设备的名称 - CONFIG_USBD_PRODUCT_NAME "acme usb device"

CONFIG_USBD_VENDORID 将此宏定义为你从 USB-IF(Implementors Forum)分配的 Vendor ID。为避免污染 USB 名字空间,要求该值必须是唯一的 - CONFIG_USBD_VENDORID 0xFFFF

CONFIG_USBD_PRODUCTID 定义设备的 Product ID - CONFIG_USBD_PRODUCTID 0xFFFF

- MMC 支持: U-Boot 支持 Intel PXA 上的 MMC 控制器, 定义 CONFIG_MMC 以使能支持。 用与 flash 类似的方式将 MMC 设备映射到物理内存,即可在 boot 提示符下访问设备。 CONFIG_CMD_MMC 使能命令行。MMC 驱动支持 FAT 文件系统,可以通过 CONFIG_CMD_FAT 开启.

- 日志 Flash 文件系统支持: CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE, CONFIG_JFFS2_NAND_DEV 用于 NAND 设备上的默认分区的参数

CFG_JFFS2_FIRST_SECTOR, CFG_JFFS2_FIRST_BANK, CFG_JFFS2_NUM_BANKS 用于 NOR 设备上的默认分区的参数

CFG_JFFS_CUSTOM_PART 定义此宏来创建一个私有分区,你必须提供一个函数: struct part_info* jffs2_part_info(int part_num)

如果只定义一个 JFFS2 分区,也可以定义下面的宏来禁用 chpart 命令。

#define CFG_JFFS_SINGLE_PART

1

在没有自定义分区的时候,这个是默认行为。 - 键盘支持: CONFIG_ISA_KEYBOARD 定义该宏以支持标准 PC 键盘 CONFIG_I8042_KBD 支持标准 PC 键盘,US(默认)和 GERMAN 键盘布局(通过"keymap=de"切换)。为 cfb_console 提供函数 i8042_kbd_init, i8042_tstc 和 i8042_getc。支持光标闪烁。 - 视频支持: CONFIG_VIDEO 定义该宏以支持视频 (输出到视频). CONFIG_VIDEO_CT69000 支持 Chips & Technologies 69000 视频芯片 CONFIG_VIDEO_SMI_LYNXEM 使能 Silicon Motion SMI 712/710/810 视频芯片. 视频输出由环境变量'videoout' (1 = LCD and 2 = CRT). 如果不定义 videoout,默认为 CRT 对 CT69000 和 SMI_LYNXEM 驱动, 视频模式由环境变量'videomode'选择, 有两个选 择: - "videomode=num" 'num' is a standard LiLo mode numbers.

支持下列标准模式 (* 为默认值): Colors 640x480 800x600 1024x768 1152x864 1280x1024 -------------+--------------------------------------------8 bits | 0x301* 0x303 0x305 15 bits | 0x310 0x313 0x316 16 bits | 0x311 0x314 0x317 24 bits | 0x312 0x315 0x318 0x161 0x162 0x163 ? 0x307 0x319 0x31A

0x31B

-------------+--------------------------------------------(i.e. setenv videomode 317; saveenv; reset;) - "videomode=bootargs" 所有视频参数从 bootargs 提取. (见 drivers/video/videomodes.c) CONFIG_VIDEO_SED13806 使能 Epson SED13806 驱动. 该驱动支持 8bpp 和 16bpp 模式(由 CONFIG_VIDEO_SED13806_8BPP 或 CONFIG_VIDEO_SED13806_16BPP 定义) - 键盘支持: CONFIG_KEYBOARD

定义该宏来使能自定义键盘支持。它简单地调用 drv_keyboard_init(),该函数需要在单板 相关文件中提供。目前使用该宏的单板只有 RBC823。 - LCD 支持: CONFIG_LCD 定义该宏以支持 LCD (输出至 LCD); 同时从下列的显示支持中选择一种: CONFIG_ATMEL_LCD: HITACHI TX09D70VM1CCA, 3.5", 240x320. CONFIG_NEC_NL6448AC33: NEC NL6448AC33-18. Active, color, single scan. CONFIG_NEC_NL6448BC20 NEC NL6448BC20-08. 6.5", 640x480. Active, color, single scan. CONFIG_NEC_NL6448BC33_54 NEC NL6448BC33-54. 10.4", 640x480. Active, color, single scan. CONFIG_SHARP_16x9 Sharp 320x240. Active, color, single scan. It isn't 16x9, and I am not sure what it is. CONFIG_SHARP_LQ64D341 Sharp LQ64D341 display, 640x480. Active, color, single scan. CONFIG_HLD1045 HLD1045 display, 640x480. Active, color, single scan. CONFIG_OPTREX_BW Optrex CBL50840-2 NF-FW 99 22 M5 or Hitachi LMG6912RPFC-00T or Hitachi SP14Q002 320x240. Black & white. Normally display is black on white background; define CFG_WHITE_ON_BLACK to get it inverted. - Splash Screen 支持: CONFIG_SPLASH_SCREEN

如果设置该选项, 将检查环境变量"splashimage". 如果变量存在则显示一张 BMP 图像, 普通的 logo, 版权及系统信息不再显示. "splashimage"指定了位图的存放地址. 终端也被重 定向到"nulldev". 由于启动的早期就会加载 Splash screen, 使用它可以实现安静的启动. - Gzip 压缩的 BMP 支持: CONFIG_VIDEO_BMP_GZIP 如果设置该选项, 除了支持标准 BMP 图像外, splashscreen 或者 bmp 命令可以使用 gzip 压缩的 BMP 图像. - 压缩支持: CONFIG_BZIP2 如果设置了该选项,u-boot 将包含对 bzip2 压缩映像的支持。如果不设置该选项,则只支 持未压缩的或者 gzip 压缩的映像。 注意: bzip2 算法需要大量的 RAM, 因此 malloc 区大小(通过 CFG_MALLOC_LEN 定义) 至少为 4MB。 - MII/PHY 支持: CONFIG_PHY_ADDR PHY 在 MII 总线上的地址。 CONFIG_PHY_CLOCK_FREQ (ppc4xx) MII 总线的时钟频率。 CONFIG_PHY_GIGE 如果设置该选项,则支持 GE PHY 的速度/双工检测 CONFIG_PHY_RESET_DELAY 有一些 PHY (如 Intel LXT971A) 在复位后需要经过一定的时延才能访问 MII 寄存器,需要 设置该宏。该设置的单位为 usec (LXT971A 至少需设为 300usec)。 CONFIG_PHY_CMD_DELAY (ppc4xx) 有一些 PHY (如 Intel LXT971A) 在发起 MII 命令时,需要额外的时延才能读取 MII 状态寄 存器。 - 以太网支持: CONFIG_ETHADDR CONFIG_ETH2ADDR CONFIG_ETH3ADDR 为对应的以太网接口定义一个默认的 MAC 地址, 当不能自动确定时使用该定义. - IP 地址: CONFIG_IPADDR 为默认的以太网接口定义一个默认的 IP 地址(在没有确定 IP 地址的时候使用,比如通过 bootp 确定 IP 地址)。

- 服务器 IP 地址: CONFIG_SERVERIP 定义默认的 TFTP 服务器 IP 地址。在使用"tftboot"命令时,将使用该地址连接 TFTP 服务 器。 - Multicast TFTP Mode: CONFIG_MCAST_TFTP 定义该宏以支持组播 TFTP(按 rfc-2090); 比如与 atftp 工作. 可以允许从多个目标 tftp 同时 下载相同的 boot image. 注意: 使用的以太网驱动必须提供函数 mcast()支持加入/离开一个 组播组. CONFIG_BOOTP_RANDOM_DELAY - BOOTP 恢复模式: CONFIG_BOOTP_RANDOM_DELAY 如果你的网络中有多个系统使用 BOOTP 启动, 你可能需要避免出现所有系统同时发送 BOOTP 请求的情况(如因电源恢复产生的系统同时上电), 将导致 BOOTP 服务器过载. 定 义 CONFIG_BOOTP_RANDOM_DELAY 将在发送 BOOTP 请求前插入随机延时. 插入规 则如下: 1st BOOTP request: delay 0 ... 1 sec 2nd BOOTP request: delay 0 ... 2 sec 3rd BOOTP request: delay 0 ... 4 sec 4th and following BOOTP requests: delay 0 ... 8 sec - DHCP 高级选项: 可以定义下列 CONFIG_BOOTP_*宏来微调 DHCP 的功能: CONFIG_BOOTP_SUBNETMASK CONFIG_BOOTP_GATEWAY CONFIG_BOOTP_HOSTNAME CONFIG_BOOTP_NISDOMAIN CONFIG_BOOTP_BOOTPATH CONFIG_BOOTP_BOOTFILESIZE CONFIG_BOOTP_DNS CONFIG_BOOTP_DNS2 CONFIG_BOOTP_SEND_HOSTNAME CONFIG_BOOTP_NTPSERVER CONFIG_BOOTP_TIMEOFFSET CONFIG_BOOTP_VENDOREX

CONFIG_BOOTP_SERVERIP - TFTP 服务器由 serverip 环境变量指定, 而不是 BOOTP 服务器. CONFIG_BOOTP_DNS2 - 当客户端从 DHCP 服务器请求 DNS serverip 时, 允许向客户 端提供多个 DNS 服务器地址. 如果使能 CONFIG_BOOTP_DNS2, 辅助 DNS 服务器地址 将存在环境变量"dnsip2"里. 当定义了 CONFIG_BOOTP_DNS 时, 主要 DNS 服务器地址总 是存在变量"dnsip"中. CONFIG_BOOTP_SEND_HOSTNAME - 有些 DHCP 服务器可以动态更新 DNS 服务器, 这个功能需要 DHCP 请求者的 hostname. 如果定义了 CONFIG_BOOTP_SEND_HOSTNAME, "hostname"环境变量的内容将根据选项 12 传递给 DHCP 服务器. CONFIG_BOOTP_DHCP_REQUEST_DELAY 设置在收到"DHCP Offer"与发送"DHCP Request"间的 32 位延时(微秒单位 microsecond). 这规避了某些 DHCP 服务器不能 100%响应"DHCP 请求"的问题. 比如, 在 180MHz 的 AT91RM9200 处理器上,这个延时至少为 1500 usec, 才能保证 Windows Server 2003 DHCP 服务器 100%响应. 我建议定义在 50,000 usec 以上是比较安全的. 否则只能指望后 面的重试会成功. 当然, DHCP 超时与重试过程需要更长的时延. - CDP 选项: CONFIG_CDP_DEVICE_ID The device id used in CDP trigger frames. CONFIG_CDP_DEVICE_ID_PREFIX 添加到 MAC 地址的 2 个字符前缀. CONFIG_CDP_PORT_ID 包含端口 ascii 名称的 printf 格式串. 一般设为"eth%d", 对第一个以太网口为 eth0, 对第二 个以太网口为 eth1 等等. CONFIG_CDP_CAPABILITIES 表示设备能力的 32 位整数. 0x00000010 表示普通的不转发的主机. CONFIG_CDP_VERSION 包含软件版本的 ascii 字符串. CONFIG_CDP_PLATFORM 包含平台名称的 ascii 字符串. CONFIG_CDP_TRIGGER A 32bit integer sent on the trigger. CONFIG_CDP_POWER_CONSUMPTION A 16bit integer containing the power consumption of the device in .1 of milliwatts.

CONFIG_CDP_APPLIANCE_VLAN_TYPE VLAN id - Status LED: CONFIG_STATUS_LED 有几个配置可以用 LED 显示当前的状态. 比如, 在运行 U-Boot 代码时, LED 快闪, 收到 BOOTP 应答时, 停止快闪, 在运行 linux 内核时慢闪(由 linux 内核的状态 LED 驱动支持). 定 义 CONFIG_STATUS_LED 可以打开 U-Boot 的这个功能. - CAN Support: CONFIG_CAN_DRIVER 定义 CONFIG_CAN_DRIVER 在支持 CAN 的系统上使能驱动支持(可选), 比如 TQM8xxL. - I2C 支持: CONFIG_HARD_I2C | CONFIG_SOFT_I2C 使能 I2C 串行总线命令. 定义任一个宏可以在选择的 CPU 内包含相应的 I2C 驱动(但不能 同时定义). 可以在 u-boot 命令行下使用 i2c 命令(只要在 CONFIG_COMMANDS 中设置了 CONFIG_CMD_I2C),并与基于 i2c 的实时时钟芯片通讯。命令接口的说明见 common/cmd_i2c.c. CONFIG_I2C_CMD_TREE 是一个推荐配置,它将所有 i2c 命令置于一个单独的'i2c'根命 令下。老的'imm', 'imd', 'iprobe'等命令已经过时,以后可能会删除。 CONFIG_HARD_I2C 选择一个 I2C 控制器硬件。 CONFIG_SOFT_I2C 配置 u-boot 使用软件(即 bit-banging)驱动代替 CPM 或相似的 I2C 支持。 当你定义了 CONFIG_HARD_I2C 或者 CONFIG_SOFT_I2C 后,还有其它几个数值也需 要定义。 两种定义下都需要再定义 CFG_I2C_SPEED 为你预定的 i2c 总线运行频率(Hz 单位),定 义 CFG_I2C_SLAVE 为本节点的地址(即 CPU 的 i2c 节点地址)。 目前,u-boot 在 mpc8xx 上的 i2c 代码(cpu/mpc8xx/i2c.c)将 CPU 设为主节点,因此地址 应设为 0(见手册,如 MPC823e User's Manual p.16-473)。将 CFG_I2C_SLAVE 设为 0。 对 CONFIG_HARD_I2C,上面就是所有需要的设置。 如果你使用软件 i2c 接口(CONFIG_SOFT_I2C),还需要定义下列宏(例子取自 include/configs /lwmon.h): I2C_INIT (可选). 定义用于使能 i2c 控制器或配置端口的命令。 eg: #define I2C_INIT (immr->im_cpm.cp_pbdir |= PB_SCL) I2C_PORT (仅用于 MPC8260 CPU). 定义要使用的 I/O (the code assumes both bits are on the same port). 有效的值为 0..3,对应端口 A..D。

I2C_ACTIVE 使 I2C 数据线处于激活状态(driven)的必要代码。如果数据线对 collector 是开放的,定义 可以为空。 eg: #define I2C_ACTIVE (immr->im_cpm.cp_pbdir |= PB_SDA) I2C_TRISTATE 使 I2C 数据线处于三态(非激活)的必要代码。如果数据线对 collector 是开放的,定义可以 为空。

eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA) I2C_READ 定义一段代码,在 I2C 数据线为高时返回 TRUE,为低时返回 FALSE。 eg: #define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0) I2C_SDA(bit) 如果 <bit> 为 TRUE,将 I2C 总线置为高,否则置为低。 eg: #define I2C_SDA(bit) / if(bit) immr->im_cpm.cp_pbdat |= PB_SDA; / else immr->im_cpm.cp_pbdat &= ~PB_SDA I2C_SCL(bit) 如果 <bit> 为 TRUE,将 I2C 时钟线置为高,否则置为低。 eg: #define I2C_SCL(bit) / if(bit) immr->im_cpm.cp_pbdat |= PB_SCL; / else immr->im_cpm.cp_pbdat &= ~PB_SCL I2C_DELAY 每个时钟周期会调用该延时 4 次,因此它控制了数据传输速率。数据速率为 1 / (I2C_DELAY * 4)。通常定义成下面的样子: #define I2C_DELAY udelay(2) CFG_I2C_INIT_BOARD 当单板在 i2c 总线正在传输时复位,芯片会认为当前传输仍然在进行。对一些单板而言, 直接访问 i2c SCLK 线是可行的,可以将处理器引脚作为 GPIO 使用,或者另连一根引脚连 到总线上。如果定义了该选项,boards/xxx/board.c 中自定义的 i2c_init_board()例程会在 boot 过程较早阶段执行。 CONFIG_I2CFAST (仅用于 PPC405GP|PPC405EP) 该选项使能 u-boot 基于环境变量'i2cfast'配置 bd_info 结构体内的 bi_iic_fast[]标志。(见 i2cfast) CONFIG_I2C_MULTI_BUS

该选项允许使用多个 I2C 总线,每个总线必须有一个控制器。不论在什么时候,只有一个 总线是激活的。要切换到不同的总线,使用'i2c dev'命令。注意总线编号从 0 开始。 CFG_I2C_NOPROBES 当使用'i2c probe'命令时(或者老的'iprobe'命令),跳过本选项指定的一组 I2C 设备。如果设 置了 CONFIG_I2C_MULTI_BUS,表示指定一组总线-设备对,否则表示设备地址的一维数 组。 e.g. #undef CONFIG_I2C_MULTI_BUS #define CFG_I2C_NOPROBES {0x50,0x68} 将忽略地址 0x50 和 0x68 #define CONFIG_I2C_MULTI_BUS #define CFG_I2C_MULTI_NOPROBES {{0,0x50},{0,0x68},{1,0x54}} 将忽略总线 0 上的地址 0x50 和 0x68,总线 1 上的地址 0x54 CFG_SPD_BUS_NUM 如果定义了宏, 则表示 DDR SPD 的 I2C 总线号, 如果没有定义, U-Boot 假定 SPD 在 I2C 总线 0。 CFG_RTC_BUS_NUM 如果定义了宏,则表示 RTC 的 I2C 总线号,如果没有定义,U-Boot 假定 RTC 在 I2C 总 线 0。 CFG_DTT_BUS_NUM 如果定义了宏,则表示 DTT 的 I2C 总线号,如果没有定义,U-Boot 假定 DTT 在 I2C 总线 0。 CONFIG_FSL_I2C 如果想使用 Freescale 的 I2C 驱动(drivers/i2c/fsl_i2c.c),定义该宏。


相关文章:
ELDK中文开发手册
嵌入式 PowerPC, ARM MIPS 系统中使用 DENX U-Boot Linux 的指导手册...[请注意到尽管 U-Boot 提供了很多配置选项,并不是所有选项都支 持各种处理器...
u-boot设计文档
U-BOOT中文文档 4页 免费 u-boot移植详细文档 48页 2财富值喜欢...移植 U-Boot 工作就是添加开发板硬件相关的文件、配置选项,然后配置编译。 开始...
第1章微机系统概述
(请选择一个或多个选项) 鼠标是目前使用最多的()...() 微机的性能与系统配置没有关系。 () CPU 是...1/2 相关文档推荐 第1章 微机系统概述 29页 免费...
服务器配置及软件使用
暂无评价|0人阅读|0次下载|举报文档服务器配置及软件...Busybox Installation Prefix (/xxx/rootfs) 该选项...U-boot 移植开始移植之前,首先要分析 U-Boot 已经...
BIOS设置中文图解教程
暂无评价|0人阅读|0次下载|举报文档BIOS设置中文图解...4. First Boot Device / Second Boot Device / ...(扫描错误并复原) ---xp 简介(安装完成后出现的...
proe选项配置文件
暂无评价|0人阅读|0次下载|举报文档proe选项配置文件_电脑基础知识_IT/计算机_...控制草绘中文字大小以及基准特征的文字大小 ,数越小, 字越大,一般设为 45 ...
Java菜鸟学习笔记--配置篇(三)Java API 文档下载与文档...
Java菜鸟学习笔记--配置篇(三)Java API 文档下载与...435117.html 然后将下载厚的 Jdk-7u25-apidocs....用法 javadoc [选项] [软件包名称] [源文件] [...
AIX常用配置文档
AIX常用配置文档_计算机硬件及网络_IT/计算机_专业资料...select Install/Boot Device 2.Configure Boot Device...工具可以帮助在一个屏幕上显示所有重要的性能优化信息...
CISCO设备配置文档
Cisco中文配置文档连载(... 16页 1下载券 Cisco设备...00 timeout uauth 0:05:00 absolute http server ...boot-start-marker boot-end-marker ! logging ...
U-Boot使用手册
9 1. 概要 这是嵌入式 PowerPC, ARM MIPS 系统中使用 DENX U-Boot Linux 的指导手册文档中描述了如何在嵌入式 PowerPC, ARM 和 MIPS 系统上配置...
更多相关标签:
uboot官方文档 | uboot 输入选项无效 | 文档概述 | spring boot中文文档 | spring boot api 文档 | spring boot 文档 | spring boot官方文档 | bootcamp没有u盘选项 |