在开始一个Linux项目之前,我们应该先读一下README文件,下面打开Uboot根目录下的README,其中摘录一部分
1. Uboot 目录结构
- board Board dependent files
- common Misc architecture independent functions
- cpu CPU specific files
- 74xx_7xx Files specific to Freescale MPC74xx and 7xx CPUs
- arm720t Files specific to ARM 720 CPUs
- arm920t Files specific to ARM 920 CPUs
- imx Files specific to Freescale MC9328 i.MX CPUs
- s3c24x0 Files specific to Samsung S3C24X0 CPUs
- arm925t Files specific to ARM 925 CPUs
- arm926ejs Files specific to ARM 926 CPUs
- arm1136 Files specific to ARM 1136 CPUs
- at91rm9200 Files specific to Atmel AT91RM9200 CPUs
- i386 Files specific to i386 CPUs
- ixp Files specific to Intel XScale IXP CPUs
- mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
- mips Files specific to MIPS CPUs
- mpc5xx Files specific to Freescale MPC5xx CPUs
- mpc5xxx Files specific to Freescale MPC5xxx CPUs
- mpc8xx Files specific to Freescale MPC8xx CPUs
- mpc8220 Files specific to Freescale MPC8220 CPUs
- mpc824x Files specific to Freescale MPC824x CPUs
- mpc8260 Files specific to Freescale MPC8260 CPUs
- mpc85xx Files specific to Freescale MPC85xx CPUs
- nios Files specific to Altera NIOS CPUs
- nios2 Files specific to Altera Nios-II CPUs
- ppc4xx Files specific to IBM PowerPC 4xx CPUs
- pxa Files specific to Intel XScale PXA CPUs
- s3c44b0 Files specific to Samsung S3C44B0 CPUs
- sa1100 Files specific to Intel StrongARM SA1100 CPUs
- disk Code for disk drive partition handling
- doc Documentation (don't expect too much)
- drivers Commonly used device drivers
- dtt Digital Thermometer and Thermostat drivers
- examples Example code for standalone applications, etc.
- include Header Files
- lib_arm Files generic to ARM architecture
- lib_generic Files generic to all architectures
- lib_i386 Files generic to i386 architecture
- lib_m68k Files generic to m68k architecture
- lib_mips Files generic to MIPS architecture
- lib_nios Files generic to NIOS architecture
- lib_ppc Files generic to PowerPC architecture
- net Networking code
- post Power On Self Test
- rtc Real Time Clock drivers
- tools Tools to build S-Record or U-Boot images, etc.
2. 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
"CFG_".
3.Selection of Processor Architecture and Board Type:
Example: For a TQM823L module type:
cd u-boot
make TQM823L_config
4. Configuration Options:
"include/configs/
"include/configs/TQM823L.h".
CONFIG_SA1110
CONFIG_ARM7
CONFIG_PXA250
CONFIG_cogent_mpc8xx CONFIG_IVML24 CONFIG_RBC823
CONFIG_CPCI405 CONFIG_IVML24_128 CONFIG_RPXClassic
CONFIG_CPCI4052 CONFIG_IVML24_256 CONFIG_RPXlite
CONFIG_CPCIISER4 CONFIG_IVMS8 CONFIG_RPXsuper
CONFIG_CPU86 CONFIG_IVMS8_128 CONFIG_rsdproto
5.- Linux Kernel Interface:
CONFIG_CLOCKS_IN_MHZ
6.- Serial Ports:
7.- Console Interface:
8.- Console Baudrate:
CONFIG_BAUDRATE - in bps
Select one of the baudrates listed in
CFG_BAUDRATE_TABLE, see below.
CFG_BRGCLK_PRESCALE, baudrate prescale
9.- Interrupt driven serial port input:
CONFIG_SERIAL_SOFTWARE_FIFO
10.- Console UART Number:
11.- Boot Delay: CONFIG_BOOTDELAY - in seconds
Delay before automatically booting the default image;
set to -1 to disable autoboot.
See doc/README.autoboot for these options that
work with CONFIG_BOOTDELAY. None are required.
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_UART1_CONSOLE
12.- Autoboot Command:
CONFIG_BOOTCOMMAND
CONFIG_BOOTARGS
CONFIG_RAMBOOT and CONFIG_NFSBOOT
13.- Pre-Boot Commands:
CONFIG_PREBOOT
14 - Serial Download Echo Mode:
CONFIG_LOADS_ECHO
15.- Kgdb Serial Baudrate: (if CFG_CMD_KGDB is defined)
CONFIG_KGDB_BAUDRATE
Select one of the baudrates listed in
CFG_BAUDRATE_TABLE, see below.
16.- Monitor Functions:
CONFIG_COMMANDS
17.- Watchdog:
CONFIG_WATCHDOG
18.- U-Boot Version:
CONFIG_VERSION_VARIABLE
19.- Real-Time Clock:
When CFG_CMD_DATE is selected, the type of the RTC
has to be selected, too. Define exactly one of the
following options:
CONFIG_RTC_MPC8xx - use internal RTC of MPC8xx
CONFIG_RTC_PCF8563 - use Philips PCF8563 RTC
CONFIG_RTC_MC146818 - use MC146818 RTC
CONFIG_RTC_DS1307 - use Maxim, Inc. DS1307 RTC
CONFIG_RTC_DS1337 - use Maxim, Inc. DS1337 RTC
CONFIG_RTC_DS1338 - use Maxim, Inc. DS1338 RTC
CONFIG_RTC_DS164x - use Dallas DS164x RTC
CONFIG_RTC_MAX6900 - use Maxim, Inc. MAX6900 RTC
20.- Timestamp Support:
When CONFIG_TIMESTAMP is selected, the timestamp
21.- Partition Support:
22.- IDE Reset method:
23.- ATAPI Support:
CONFIG_ATAPI
24.- LBA48 Support
CONFIG_LBA48
25.- SCSI Support:
26.- NETWORK Support (PCI):
CONFIG_E1000
27.- NETWORK Support (other):
28.- USB Support:
29.- MMC Support:
30.- Journaling Flash filesystem support:
31.- Keyboard Support:
32.- Video support:
33.- Keyboard Support:
34.- LCD Support: CONFIG_LCD
35.- Splash Screen Support: CONFIG_SPLASH_SCREEN
36.- Compression support:
CONFIG_BZIP2
37.- MII/PHY support:
CONFIG_PHY_ADDR
38.- Ethernet address:
CONFIG_ETHADDR
39.- IP address:
CONFIG_IPADDR
40.- Server IP address:
CONFIG_SERVERIP
41.- BOOTP Recovery Mode:
CONFIG_BOOTP_RANDOM_DELAY
42- DHCP Advanced Options:
CONFIG_BOOTP_MASK
43.- CDP Options:
CONFIG_CDP_DEVICE_ID
44.- Status LED: CONFIG_STATUS_LED
45.- CAN Support: CONFIG_CAN_DRIVER
46.- I2C Support: CONFIG_HARD_I2C | CONFIG_SOFT_I2C
47.- SPI Support: CONFIG_SPI
48 - FPGA Support: CONFIG_FPGA_COUNT
49.- Configuration Management:
CONFIG_IDENT_STRING
50.- Vendor Parameter Protection:
51.- Protected RAM:
52.- Command Interpreter:
CFG_AUTO_COMPLETE
CONFIG_PRAM
53.- Default Environment:
54.- DataFlash Support:
55.- SystemACE Support:
#define CONFIG_SYSTEMACE
#define CFG_SYSTEMACE_BASE 0xf0000000
CONFIG_SYSTEMACE
56.- Show boot progress:
CONFIG_SHOW_BOOT_PROGRESS
57.Modem Support: