- 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 bdinfo
CONFIG_CMD_BEDBUG * 包含 BedBug 调试器
CONFIG_CMD_BMP * BMP 支持
CONFIG_CMD_BSP * 单板相关命令
CONFIG_CMD_BOOTD bootd
CONFIG_CMD_CACHE * icache, dcache
CONFIG_CMD_CONSOLE coninfo
CONFIG_CMD_DATE * 支持RTC, date/time...
CONFIG_CMD_DHCP * 支持DHCP
CONFIG_CMD_DIAG * 诊断
CONFIG_CMD_DOC * Disk-On-Chip Support
CONFIG_CMD_DTT * Digital Therm and Thermostat
CONFIG_CMD_ECHO echo arguments
CONFIG_CMD_EEPROM * 支持EEPROM读写
CONFIG_CMD_ELF * bootelf, bootvx
CONFIG_CMD_ENV saveenv
CONFIG_CMD_FDC * 支持软驱
CONFIG_CMD_FAT * 支持FAT分区
CONFIG_CMD_FDOS * 支持Dos磁盘
CONFIG_CMD_FLASH flinfo, erase, protect
CONFIG_CMD_FPGA 支持FPGA设备初始化
CONFIG_CMD_HWFLOW * RTS/CTS 硬件流控
CONFIG_CMD_I2C * I2C 串行总线支持
CONFIG_CMD_IDE * IDE 硬盘支持
CONFIG_CMD_IMI iminfo
CONFIG_CMD_IMLS 列出所有找到的映像
CONFIG_CMD_IMMAP * 支持IMMR dump
CONFIG_CMD_IRQ * irqinfo
CONFIG_CMD_ITEST Integer/string test of 2 values
CONFIG_CMD_JFFS2 * 支持JFFS2文件系统
CONFIG_CMD_KGDB * kgdb
CONFIG_CMD_LOADB loadb
CONFIG_CMD_LOADS loads
CONFIG_CMD_MEMORY md, mm, nm, mw, cp, cmp, crc, base,
loop, loopw, mtest
CONFIG_CMD_MISC Misc functions like sleep etc
CONFIG_CMD_MMC * MMC memory mapped support
CONFIG_CMD_MII * MII实用命令
CONFIG_CMD_NAND * NAND支持
CONFIG_CMD_NET bootp, tftpboot, rarpboot
CONFIG_CMD_PCI * pciinfo
CONFIG_CMD_PCMCIA * PCMCIA支持
CONFIG_CMD_PING * 向网络主机发送 ICMP ECHO_REQUEST
CONFIG_CMD_PORTIO * 端口I/O
CONFIG_CMD_REGINFO * 寄存器dump
CONFIG_CMD_RUN run command in env variable
CONFIG_CMD_SAVES * save S record dump
CONFIG_CMD_SCSI * SCSI 支持
CONFIG_CMD_SDRAM * 打印 SDRAM 配置信息 (需要CONFIG_CMD_I2C)
CONFIG_CMD_SETGETDCR 支持访问DCR寄存器 (仅用于4xx)
CONFIG_CMD_SPI * 支持SPI串行总线
CONFIG_CMD_USB * 支持USB
CONFIG_CMD_VFD * 支持VFD (TRAB)
CONFIG_CMD_CDP * 支持Cisco Discover Protocol
CONFIG_CMD_FSL * 支持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 - 使用MPC8xx的内部RTC
CONFIG_RTC_PCF8563 - 使用Philips PCF8563 RTC
CONFIG_RTC_MC13783 - 使用MC13783 RTC
CONFIG_RTC_MC146818 - 使用MC146818 RTC
CONFIG_RTC_DS1307 - 使用Maxim, Inc. DS1307 RTC
CONFIG_RTC_DS1337 - 使用Maxim, Inc. DS1337 RTC
CONFIG_RTC_DS1338 - 使用Maxim, Inc. DS1338 RTC
CONFIG_RTC_DS164x - 使用Dallas DS164x RTC
CONFIG_RTC_ISL1208 - 使用Intersil ISL1208 RTC
CONFIG_RTC_MAX6900 - 使用Maxim, Inc. MAX6900 RTC
CFG_RTC_DS1337_NOOSC - 关闭DS1337的OSC输出
注意:如果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
在没有自定义分区的时候,这个是默认行为。
阅读(2435) | 评论(0) | 转发(0) |