📄 readme
字号:
## (C) Copyright 2000 - 2004# Wolfgang Denk, DENX Software Engineering, wd@denx.de.## See file CREDITS for list of people who contributed to this# project.## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License as# published by the Free Software Foundation; either version 2 of# the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston,# MA 02111-1307 USA#Summary:========This directory contains the source code for U-Boot-aesop, a boot loader forEmbedded boards based on ARM only which can be installed in a boot ROM and used toinitialize and test the hardware or to download and run applicationcode.The development of U-Boot-aesop is closely related to Linux: some parts ofthe source code originate in the Linux source tree, we have someheader files in common, and special provision has been made tosupport booting of Linux images.Some attention has been paid to make this software easilyconfigurable and extendable. For instance, all monitor commands areimplemented with the same call interface, so that it's very easy toadd new commands. Also, instead of permanently adding rarely usedcode (for instance hardware test utilities) to the monitor, you canload and run it dynamically.Status:=======In general, all boards for which a configuration option exists in theMakefile have been tested to some extent and can be considered"working". In fact, many of them are used in production systems.In case of problems see the CHANGELOG and CREDITS files to find outwho contributed the specific port.Where to get help:==================In case you have questions about, problems with or contributions forU-Boot-aesop you should send a message to the U-Boot-aesop mailing list at<u-boot-aesop-users@lists.sourceforge.net>. There is also an archive ofprevious traffic on the mailing list - please search the archivebefore asking FAQ's. Please seehttp://lists.sourceforge.net/lists/listinfo/u-boot-aesop-users/Where we come from:===================- start from www.kernelproject.org and elinux in daum.net- next please ...Versioning:===========U-Boot-aesop uses a 3 level version number containing a version, asub-version, and a patchlevel: "U-Boot-aesop-2.34.5" means version "2",sub-version "34", and patchlevel "4".The patchlevel is used to indicate certain stages of developmentbetween released versions, i. e. officially released versions ofU-Boot-aesop will always have a patchlevel of "0".Directory Hierarchy:====================- board Board dependent files - aesop2440 aesop board - common Misc architecture independent functions- cpu CPU specific files - arm920t Files specific to ARM 920 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- net Networking code- post Power On Self Test- rtc Real Time Clock drivers- tools Tools to build S-Record or U-Boot-aesop images, etc.Software Configuration:=======================Configuration is usually done using C preprocessor defines; therationale behind that is to avoid dead code whenever possible.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_".Later we will add a configuration tool - probably similar to or evenidentical to what's used for the Linux kernel. Right now, we have todo the configuration by hand, which means creating some symboliclinks and editing some configuration files. We use the TQM8xxL boardsas an example here.Selection of Processor Architecture and Board Type:---------------------------------------------------For all supported boards there are ready-to-use defaultconfigurations available; just type "make <board_name>_config".Example: For a aesop2440 module type: cd u-boot-aesop-x.x.x make aesop2440_configFor the Cogent platform, you need to specify the cpu type as well;e.g. "make cogent_arm920t_config". And also configure the cogentdirectory according to the instructions in cogent/README.Configuration Options:----------------------Configuration depends on the combination of board and CPU type; allsuch information is kept in a configuration file"include/configs/<board_name>.h".Example: For a aesop2440 module, all configuration settings are in"include/configs/aesop.h".Many of the options are named exactly as the corresponding Linuxkernel configuration options. The intention is to make it easier tobuild a config tool - later.The following options need to be configured:- CPU Type: Define exactly one of ARM based CPUs: --------------- CONFIG_SA1110 CONFIG_ARM7 CONFIG_PXA250- Board Type: Define exactly one of ARM based boards: ----------------- CONFIG_AESOP2440 CONFIG_CONFIG_SMDK2410 CONFIG_SMDK2440 - CPU Type: Define exactly one of CONFIG_S3C2440- Linux Kernel Interface: CONFIG_CLOCKS_IN_MHZ U-Boot-aesop stores all clock information in Hz internally. For binary compatibility with older Linux kernels (which expect the clocks passed in the bd_info data to be in MHz) the environment variable "clocks_in_mhz" can be defined so that U-Boot-aesop converts clock data to MHZ before passing it to the Linux kernel. When CONFIG_CLOCKS_IN_MHZ is defined, a definition of "clocks_in_mhz=1" is automatically included in the default environment. CONFIG_MEMSIZE_IN_BYTES [relevant for MIPS only] When transfering memsize parameter to linux, some versions expect it to be in bytes, others in MB. Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes.- Serial Ports: CFG_PL010_SERIAL Define this if you want support for Amba PrimeCell PL010 UARTs. CFG_PL011_SERIAL Define this if you want support for Amba PrimeCell PL011 UARTs. CONFIG_PL011_CLOCK If you have Amba PrimeCell PL011 UARTs, set this variable to the clock speed of the UARTs. CONFIG_PL01x_PORTS If you have Amba PrimeCell PL010 or PL011 UARTs on your board, define this to a list of base addresses for each (supported) port. See e.g. include/configs/versatile.h- Console Interface: Depending on board, define exactly one serial port (like CONFIG_8xx_CONS_SMC1, CONFIG_8xx_CONS_SMC2, CONFIG_8xx_CONS_SCC1, ...), or switch off the serial console by defining CONFIG_8xx_CONS_NONE Note: if CONFIG_8xx_CONS_NONE is defined, the serial port routines must be defined elsewhere (i.e. serial_init(), serial_getc(), ...) CONFIG_CFB_CONSOLE Enables console device for a color framebuffer. Needs following defines (cf. smiLynxEM, i8042, board/eltec/bab7xx) VIDEO_FB_LITTLE_ENDIAN graphic memory organisation (default big endian) VIDEO_HW_RECTFILL graphic chip supports rectangle fill (cf. smiLynxEM) VIDEO_HW_BITBLT graphic chip supports bit-blit (cf. smiLynxEM) VIDEO_VISIBLE_COLS visible pixel columns (cols=pitch) VIDEO_VISIBLE_ROWS visible pixel rows VIDEO_PIXEL_SIZE bytes per pixel VIDEO_DATA_FORMAT graphic data format (0-5, cf. cfb_console.c) VIDEO_FB_ADRS framebuffer address 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 cursor drawing on/off (requires blink timer cf. i8042.c) CFG_CONSOLE_BLINK_COUNT blink interval (cf. i8042.c) CONFIG_CONSOLE_TIME display time/date info in upper right corner (requires CFG_CMD_DATE) CONFIG_VIDEO_LOGO display Linux logo in upper left corner CONFIG_VIDEO_BMP_LOGO use bmp_logo.h instead of linux_logo.h for logo. Requires CONFIG_VIDEO_LOGO CONFIG_CONSOLE_EXTRA_INFO addional board info beside the logo When CONFIG_CFB_CONSOLE is defined, video console is default i/o. Serial console can be forced with environment 'console=serial'. When CONFIG_SILENT_CONSOLE is defined, all console messages (by U-Boot-aesop and Linux!) can be silenced with the "silent" environment variable. See doc/README.silent for more information.- Console Baudrate: CONFIG_BAUDRATE - in bps Select one of the baudrates listed in CFG_BAUDRATE_TABLE, see below. CFG_BRGCLK_PRESCALE, baudrate prescale- Interrupt driven serial port input: CONFIG_SERIAL_SOFTWARE_FIFO PPC405GP only. Use an interrupt handler for receiving data on the serial port. It also enables using hardware handshake (RTS/CTS) and UART's built-in FIFO. Set the number of bytes the interrupt driven input buffer should have. Leave undefined to disable this feature, including disable the buffer and hardware handshake.- Console UART Number: CONFIG_UART1_CONSOLE IBM PPC4xx only. If defined internal UART1 (and not UART0) is used as default U-Boot-aesop console.- 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- 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". CONFIG_RAMBOOT and CONFIG_NFSBOOT The value of these goes into the environment as "ramboot" and "nfsboot" respectively, and can be used as a convenience, when switching between booting from ram and nfs.- Pre-Boot Commands: CONFIG_PREBOOT When this option is #defined, the existence of the environment variable "preboot" will be checked immediately before starting the CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp. entering interactive mode. This feature is especially useful when "preboot" is automatically generated or modified. For an example see the LWMON board specific code: here "preboot" is modified when the user holds down a certain combination of keys on the (special) keyboard when booting the systems- Serial Download Echo Mode: CONFIG_LOADS_ECHO If defined to 1, all characters received during a serial download (using the "loads" command) are echoed back. This might be needed by some terminal emulations (like "cu"), but may as well just take time on others. This setting #define's the initial value of the "loads_echo" environment variable.- Kgdb Serial Baudrate: (if CFG_CMD_KGDB is defined) CONFIG_KGDB_BAUDRATE Select one of the baudrates listed in CFG_BAUDRATE_TABLE, see below.- Monitor Functions: CONFIG_COMMANDS Most monitor functions can be selected (or de-selected) by adjusting the definition of CONFIG_COMMANDS; to select individual functions, #define CONFIG_COMMANDS by "OR"ing any of the following values: #define enables commands: ------------------------- CFG_CMD_ASKENV * ask for env variable CFG_CMD_AUTOSCRIPT Autoscript Support CFG_CMD_BDI bdinfo CFG_CMD_BEDBUG * Include BedBug Debugger CFG_CMD_BMP * BMP support CFG_CMD_BSP * Board specific commands CFG_CMD_BOOTD bootd CFG_CMD_CACHE * icache, dcache CFG_CMD_CONSOLE coninfo CFG_CMD_DATE * support for RTC, date/time... CFG_CMD_DHCP * DHCP support CFG_CMD_DIAG * Diagnostics CFG_CMD_DOC * Disk-On-Chip Support CFG_CMD_DTT * Digital Therm and Thermostat CFG_CMD_ECHO * echo arguments CFG_CMD_EEPROM * EEPROM read/write support CFG_CMD_ELF * bootelf, bootvx CFG_CMD_ENV saveenv CFG_CMD_FDC * Floppy Disk Support CFG_CMD_FAT * FAT partition support CFG_CMD_FDOS * Dos diskette Support CFG_CMD_FLASH flinfo, erase, protect CFG_CMD_FPGA FPGA device initialization support
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -