📄 readme
字号:
## (C) Copyright 2000 - 2002# 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, a boot loader forEmbedded boards based on PowerPC and ARM processors, which can beinstalled in a boot ROM and used to initialize and test the hardwareor to download and run application code.The development of U-Boot 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 you should send a message to the U-Boot mailing list at<u-boot-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-users/Where we come from:===================- start from 8xxrom sources- create PPCBoot project (http://sourceforge.net/projects/ppcboot)- clean up code- make it easier to add custom boards- make it possible to add other [PowerPC] CPUs- extend functions, especially: * Provide extended interface to Linux boot loader * S-Record download * network boot * PCMCIA / CompactFLash / ATA disk / SCSI ... boot- create ARMBoot project (http://sourceforge.net/projects/armboot)- add other CPU families (starting with ARM)- create U-Boot project (http://sourceforge.net/projects/u-boot)Names and Spelling:===================The "official" name of this project is "Das U-Boot". The spelling"U-Boot" shall be used in all written text (documentation, commentsin source files etc.). Example: This is the README file for the U-Boot project.File names etc. shall be based on the string "u-boot". Examples: include/asm-ppc/u-boot.h #include <asm/u-boot.h>Variable names, preprocessor constants etc. shall be either based onthe string "u_boot" or on "U_BOOT". Example: U_BOOT_VERSION u_boot_logo IH_OS_U_BOOT u_boot_hush_startVersioning:===========U-Boot uses a 3 level version number containing a version, asub-version, and a patchlevel: "U-Boot-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 will always have a patchlevel of "0".Directory Hierarchy:====================- board Board dependend files- common Misc architecture independend functions- cpu CPU specific files- disk Code for disk drive partition handling- doc Documentation (don't expect too much)- drivers Common used device drivers- dtt Digital Thermometer and Thermostat drivers- examples Example code for standalone applications, etc.- include Header Files- disk Harddisk interface code- net Networking code- ppc Files generic to PowerPC architecture- post Power On Self Test- post/arch Symlink to architecture specific Power On Self Test- post/arch-ppc PowerPC architecture specific Power On Self Test- post/cpu/mpc8260 MPC8260 CPU specific Power On Self Test- post/cpu/mpc8xx MPC8xx CPU specific Power On Self Test- rtc Real Time Clock drivers- tools Tools to build S-Record or U-Boot images, etc.- cpu/74xx_7xx Files specific to Motorola MPC74xx and 7xx CPUs- cpu/mpc5xx Files specific to Motorola MPC5xx CPUs- cpu/mpc8xx Files specific to Motorola MPC8xx CPUs- cpu/mpc824x Files specific to Motorola MPC824x CPUs- cpu/mpc8260 Files specific to Motorola MPC8260 CPU- cpu/ppc4xx Files specific to IBM 4xx CPUs- board/LEOX/ Files specific to boards manufactured by The LEOX team- board/LEOX/elpt860 Files specific to ELPT860 boards- board/RPXClassic Files specific to RPXClassic boards- board/RPXlite Files specific to RPXlite boards- board/at91rm9200dk Files specific to AT91RM9200DK boards- board/c2mon Files specific to c2mon boards- board/cmi Files specific to cmi boards- board/cogent Files specific to Cogent boards (need further configuration) Files specific to CPCIISER4 boards- board/cpu86 Files specific to CPU86 boards- board/cray/ Files specific to boards manufactured by Cray- board/cray/L1 Files specific to L1 boards- board/cu824 Files specific to CU824 boards- board/ebony Files specific to IBM Ebony board- board/eric Files specific to ERIC boards- board/esd/ Files specific to boards manufactured by ESD- board/esd/adciop Files specific to ADCIOP boards- board/esd/ar405 Files specific to AR405 boards- board/esd/canbt Files specific to CANBT boards- board/esd/cpci405 Files specific to CPCI405 boards- board/esd/cpciiser4 Files specific to CPCIISER4 boards- board/esd/common Common files for ESD boards- board/esd/dasa_sim Files specific to DASA_SIM boards- board/esd/du405 Files specific to DU405 boards- board/esd/ocrtc Files specific to OCRTC boards- board/esd/pci405 Files specific to PCI405 boards- board/esteem192e Files specific to ESTEEM192E boards- board/etx094 Files specific to ETX_094 boards- board/evb64260 Files specific to EVB64260 boards- board/fads Files specific to FADS boards- board/flagadm Files specific to FLAGADM boards- board/gen860t Files specific to GEN860T and GEN860T_SC boards- board/genietv Files specific to GENIETV boards- board/gth Files specific to GTH boards- board/hermes Files specific to HERMES boards- board/hymod Files specific to HYMOD boards- board/icu862 Files specific to ICU862 boards- board/ip860 Files specific to IP860 boards- board/iphase4539 Files specific to Interphase4539 boards- board/ivm Files specific to IVMS8/IVML24 boards- board/lantec Files specific to LANTEC boards- board/lwmon Files specific to LWMON boards- board/mbx8xx Files specific to MBX boards- board/mpc8260ads Files specific to MMPC8260ADS boards- board/mpl/ Files specific to boards manufactured by MPL- board/mpl/common Common files for MPL boards- board/mpl/pip405 Files specific to PIP405 boards- board/mpl/mip405 Files specific to MIP405 boards- board/musenki Files specific to MUSEKNI boards- board/mvs1 Files specific to MVS1 boards- board/nx823 Files specific to NX823 boards- board/oxc Files specific to OXC boards- board/pcippc2 Files specific to PCIPPC2/PCIPPC6 boards- board/pm826 Files specific to PM826 boards- board/ppmc8260 Files specific to PPMC8260 boards- board/rpxsuper Files specific to RPXsuper boards- board/rsdproto Files specific to RSDproto boards- board/sandpoint Files specific to Sandpoint boards- board/sbc8260 Files specific to SBC8260 boards- board/sacsng Files specific to SACSng boards- board/siemens Files specific to boards manufactured by Siemens AG- board/siemens/CCM Files specific to CCM boards- board/siemens/IAD210 Files specific to IAD210 boards- board/siemens/SCM Files specific to SCM boards- board/siemens/pcu_e Files specific to PCU_E boards- board/sixnet Files specific to SIXNET boards- board/spd8xx Files specific to SPD8xxTS boards- board/tqm8260 Files specific to TQM8260 boards- board/tqm8xx Files specific to TQM8xxL boards- board/w7o Files specific to W7O boards- board/walnut405 Files specific to Walnut405 boards- board/westel/ Files specific to boards manufactured by Westel Wireless- board/westel/amx860 Files specific to AMX860 boards- board/utx8245 Files specific to UTX8245 boardsSoftware 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 TQM823L module type: cd u-boot make TQM823L_configFor the Cogent platform, you need to specify the cpu type as well;e.g. "make cogent_mpc8xx_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 TQM823L module, all configuration settings are in"include/configs/TQM823L.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 PowerPC based CPUs: ------------------- CONFIG_MPC823, CONFIG_MPC850, CONFIG_MPC855, CONFIG_MPC860 or CONFIG_MPC5xx or CONFIG_MPC824X, CONFIG_MPC8260 or CONFIG_IOP480 or CONFIG_405GP or CONFIG_440 or CONFIG_MPC74xx or CONFIG_750FX ARM based CPUs: --------------- CONFIG_SA1110 CONFIG_ARM7 CONFIG_PXA250- Board Type: Define exactly one of PowerPC based boards: --------------------- CONFIG_ADCIOP, CONFIG_ICU862 CONFIG_RPXsuper, CONFIG_ADS860, CONFIG_IP860, CONFIG_SM850, CONFIG_AMX860, CONFIG_IPHASE4539, CONFIG_SPD823TS, CONFIG_AR405, CONFIG_IVML24, CONFIG_SXNI855T, CONFIG_BAB7xx, CONFIG_IVML24_128, CONFIG_Sandpoint8240, CONFIG_CANBT, CONFIG_IVML24_256, CONFIG_Sandpoint8245, CONFIG_CCM, CONFIG_IVMS8, CONFIG_TQM823L, CONFIG_CPCI405, CONFIG_IVMS8_128, CONFIG_TQM850L, CONFIG_CPCI4052, CONFIG_IVMS8_256, CONFIG_TQM855L, CONFIG_CPCIISER4, CONFIG_LANTEC, CONFIG_TQM860L, CONFIG_CPU86, CONFIG_MBX, CONFIG_TQM8260, CONFIG_CRAYL1, CONFIG_MBX860T, CONFIG_TTTech, CONFIG_CU824, CONFIG_MHPC, CONFIG_UTX8245, CONFIG_DASA_SIM, CONFIG_MIP405, CONFIG_W7OLMC, CONFIG_DU405, CONFIG_MOUSSE, CONFIG_W7OLMG, CONFIG_ELPPC, CONFIG_MPC8260ADS, CONFIG_WALNUT405, CONFIG_ERIC, CONFIG_MUSENKI, CONFIG_ZUMA, CONFIG_ESTEEM192E, CONFIG_MVS1, CONFIG_c2mon, CONFIG_ETX094, CONFIG_NX823, CONFIG_cogent_mpc8260, CONFIG_EVB64260, CONFIG_OCRTC, CONFIG_cogent_mpc8xx, CONFIG_FADS823, CONFIG_ORSG, CONFIG_ep8260, CONFIG_FADS850SAR, CONFIG_OXC, CONFIG_gw8260, CONFIG_FADS860T, CONFIG_PCI405, CONFIG_hermes, CONFIG_FLAGADM, CONFIG_PCIPPC2, CONFIG_hymod, CONFIG_FPS850L, CONFIG_PCIPPC6, CONFIG_lwmon, CONFIG_GEN860T, CONFIG_PIP405, CONFIG_pcu_e, CONFIG_GENIETV, CONFIG_PM826, CONFIG_ppmc8260, CONFIG_GTH, CONFIG_RPXClassic, CONFIG_rsdproto, CONFIG_IAD210, CONFIG_RPXlite, CONFIG_sbc8260, CONFIG_EBONY, CONFIG_sacsng, CONFIG_FPS860L, CONFIG_V37, CONFIG_ELPT860, CONFIG_CMI, CONFIG_NETVIA, CONFIG_RBC823 ARM based boards: ----------------- CONFIG_HHP_CRADLE, CONFIG_DNP1110, CONFIG_EP7312, CONFIG_IMPA7, CONFIG_LART, CONFIG_LUBBOCK, CONFIG_SHANNON, CONFIG_SMDK2400, CONFIG_SMDK2410, CONFIG_TRAB, CONFIG_AT91RM9200DK- CPU Module Type: (if CONFIG_COGENT is defined) Define exactly one of CONFIG_CMA286_60_OLD--- FIXME --- not tested yet: CONFIG_CMA286_60, CONFIG_CMA286_21, CONFIG_CMA286_60P, CONFIG_CMA287_23, CONFIG_CMA287_50- Motherboard Type: (if CONFIG_COGENT is defined) Define exactly one of CONFIG_CMA101, CONFIG_CMA102- Motherboard I/O Modules: (if CONFIG_COGENT is defined) Define one or more of CONFIG_CMA302- Motherboard Options: (if CONFIG_CMA101 or CONFIG_CMA102 are defined) Define one or more of CONFIG_LCD_HEARTBEAT - update a character position on the lcd display every second with a "rotator" |\-/|\-/- MPC824X Family Member (if CONFIG_MPC824X is defined) Define exactly one of CONFIG_MPC8240, CONFIG_MPC8245- 8xx CPU Options: (if using an 8xx cpu) Define one or more of CONFIG_8xx_GCLK_FREQ - if get_gclk_freq() can not work e.g. no 32KHz reference PIT/RTC clock
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -