




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言:近期在学习U-Boot,学习过程不外乎学习文档,阅读代码。U-BOOT源码树提供的README文档讲得比较详细,可以作为一个起点,看了下网上似乎也没有完全的中文翻译,因此才有翻译的打算,一方面可以共享,另一方面今后自己查阅起来也比较方便。本系列翻译的内容来源于U-BOOT 1.3.4源码目录下的README文件,不足之处,还请各位大侠批评指正。概述:=本目录包含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邮件列表发送消息。在提问前,请搜索邮件列表的历史记录:/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 项目 (/projects/ppcboot)- 清理代码- 让代码更易于添加自定义单板- 可以添加其它类型的 PowerPC CPU- 扩展了函数,特别是: * 为 Linux 引导程序提供了扩展的接口 * 下载 S-Record * 从网络引导 * 从 PCMCIA / CompactFlash / ATA disk / SCSI . 等设备引导- 建立了ARMBoot项目 (/projects/armboot)- 添加了其它CPU家族 (从ARM开始)- 建立了 U-Boot 项目 (/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 变量名,宏定义等,也需要基于u_boot或者U_BOOT来定义。比如: U_BOOT_VERSION u_boot_logo IH_OS_U_BOOT u_boot_hush_start版本编号:=U-Boot使用3级版本编号,包含一个版本,子版本及补丁级别:U-Boot-2.34.5 表示版本2,子版本34,补丁级别4。补丁级别用于表示发行版本间的某个阶段,比如,官方发布版本的补丁级别总是0。目录结构:=- board 与单板相关的文件- common 一些与架构无关的函数- cpu 针对特定CPU的文件 - 74xx_7xx 针对Freescale MPC74xx 和 7xx CPU 的文件 - arm720t 针对ARM 720 CPU 的文件 - arm920t 针对ARM 920 CPU 的文件 - at91rm9200 针对Atmel AT91RM9200 CPU 的文件 - imx 针对Freescale MC9328 i.MX CPU 的文件 - s3c24x0 针对Samsung S3C24X0 CPU 的文件 - arm925t 针对ARM 925 CPU 的文件 - arm926ejs 针对ARM 926 CPU 的文件 - arm1136 针对ARM 1136 CPU 的文件 - at32ap 针对Atmel AVR32 AP CPU 的文件 - i386 针对i386 CPU 的文件 - ixp 针对Intel XScale IXP CPU 的文件 - leon2 针对Gaisler LEON2 SPARC CPU 的文件 - leon3 针对Gaisler LEON3 SPARC CPU 的文件 - mcf52x2 针对Freescale ColdFire MCF52x2 CPU 的文件 - mcf5227x 针对Freescale ColdFire MCF5227x CPU 的文件 - mcf532x 针对Freescale ColdFire MCF5329 CPU 的文件 - mcf5445x 针对Freescale ColdFire MCF5445x CPU 的文件 - mcf547x_8x 针对Freescale ColdFire MCF547x_8x CPU 的文件 - mips 针对MIPS CPU 的文件 - mpc5xx 针对Freescale MPC5xx CPU 的文件 - mpc5xxx 针对Freescale MPC5xxx CPU 的文件 - mpc8xx 针对Freescale MPC8xx CPU 的文件 - mpc8220 针对Freescale MPC8220 CPU 的文件 - mpc824x 针对Freescale MPC824x CPU 的文件 - mpc8260 针对Freescale MPC8260 CPU 的文件 - mpc85xx 针对Freescale MPC85xx CPU 的文件 - nios 针对Altera NIOS CPU 的文件 - nios2 针对Altera Nios-II CPU 的文件 - ppc4xx 针对AMCC PowerPC 4xx CPU 的文件 - pxa 针对Intel XScale PXA CPU 的文件 - s3c44b0 针对Samsung S3C44B0 CPU 的文件 - sa1100 针对Intel StrongARM SA1100 CPU 的文件- disk 处理磁盘驱动器分区的代码- doc 文档 (不要报太大期望_)- drivers 常用的设备驱动- dtt 数字温度计及调节器的驱动- examples 示范代码- include 头文件- lib_arm 针对ARM架构的文件- lib_avr32 针对AVR32架构的文件- lib_generic 针对所有架构的文件- lib_i386 针对i386架构的文件- lib_m68k 针对m68k架构的文件- lib_mips 针对MIPS架构的文件- lib_nios 针对NIOS架构的文件- lib_ppc 针对PowerPC 架构的文件- lib_sparc 针对SPARC架构的文件- libfdt 支持平坦设备树(flattened device trees)的库文件- net 网络代码- post 上电自检- rtc 实时时钟驱动- tools 编译S-Record或U-Boot映像等相关工具软件配置:=配置一般使用宏定义实现;使用宏的原因是避免可能存在的不可达代码。有两类配置变量:* _OPTIONS_ 配置: 这类配置以CONFIG_开始,用户可以自行选择。* _SETTINGS_ 配置: 这类配置以CFG_开始,与硬件相关。如果你不清楚它的含义,则不要随便修改。后面我们会添加一个配置工具,可能类似于Linux Kernel配置工具。目前,我们还得手动完成配置,比如建一些软链接,编辑一些配置文件。下面我们使用TQM8xxL单板作为范例。选择处理器架构与单板类型:-对所有已经支持的单板,有默认配置可以直接使用;只需要输入make _config.比如: 对一个 TQM823L 单板类型: cd u-boot make TQM823L_config对于Cogent平台,你需要指定CPU类型;比如 make cogent_mpc8xx_config。还要根据cogent/README的指导来配置cogent目录。配置选项:-配置依赖于单板类型与CPU类型;所有这些信息都保存在一个配置文件 include/configs/.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 - 最初的 MPC8260ADS CFG_8266ADS - MPC8266ADS CFG_PQ2FADS - PQ2FADS-ZU 或者 PQ2FADS-VR CFG_8272ADS - 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 图像芯片支持矩形填充(rectangle fill) (cf. smiLynxEM) VIDEO_HW_BITBLT 图像芯片支持位块传输(bit-blit) (cf. smiLynxEM) VIDEO_VISIBLE_COLS 可视像素列 (cols=pitch) VIDEO_VISIBLE_ROWS 可视像素行 VIDEO_PIXEL_SIZE 每像素字节数 VIDEO_DATA_FORMAT 图像数据格式 (0-5, cf. cfb_console.c) VIDEO_FB_ADRS 帧缓冲地址 VIDEO_KBD_INIT_FCT keyboard int fct (i.e. i8042_kbd_init() VIDEO_TSTC_FCT test char fct (i.e. i8042_tstc) VIDEO_GETC_FCT get char fct (i.e. i8042_getc) CONFIG_CONSOLE_CURSOR 打开/关闭 光标绘制 (需要 blink timer cf. i8042.c) CFG_CONSOLE_BLINK_COUNT blink 间隔 (cf. i8042.c) CONFIG_CONSOLE_TIME 在右上角显示时间/日期信息 (需要 CONFIG_CMD_DATE) CONFIG_VIDEO_LOGO 在左上角显示Linux logo CONFIG_VIDEO_BMP_LOGO 使用bmp_logo.h作为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 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 dp838201 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓷砖专卖店年终总结
- 消防安全普及培训报道课件
- 2025至2030中国加筋土工合成材料行业项目调研及市场前景预测评估报告
- 二手房屋买卖合同模板:含房屋交易风险评估及建议
- 文化创意产业园区空场地租赁及运营管理合同
- 因男方过错离婚的财产分割及子女监护安排协议
- 企业核心技术人员离职竞业限制保密协议书
- 高端人才离职后商业秘密保护与竞业禁止合同
- 2025至2030中国皮肤套刮器行业项目调研及市场前景预测评估报告
- 离婚协议书范本:共同财产分割与债务处理
- 潮汐能发电站课件
- 国际化跨国经营中的伦理问题概述
- 2025年秋期新部编人教版五年级上册道德与法治教学计划+进度表
- 2025年全国企业员工全面质量管理知识竞赛题库及答案
- 粮食机收减损培训课件
- 超星尔雅学习通《军事理论(中北大学)》2025章节测试附答案
- 排球《正面上手发球》教案
- 温度对无电晕式静电除尘器除尘性能影响
- 房地产项目委托开发管理合同的(模板)
- 夕阳箫鼓-钢琴谱(共11页)
- 各类金属常见缺陷
评论
0/150
提交评论