- 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
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 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
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_GTH, CONFIG_RPXClassic, CONFIG_rsdproto,
CONFIG_IAD210, CONFIG_RPXlite, CONFIG_sbc8260,
CONFIG_EBONY, CONFIG_sacsng, CONFIG_FPS860L,
- CONFIG_V37
+ 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_TRAB, CONFIG_AT91RM9200DK
- CPU Module Type: (if CONFIG_COGENT is defined)
Set to 0 to disable this feature (this is the default).
This will also disable hardware handshake.
+- Console UART Number:
+ CONFIG_UART1_CONSOLE
+
+ IBM PPC4xx only.
+ If defined internal UART1 (and not UART0) is used
+ as default U-Boot console.
+
- Boot Delay: CONFIG_BOOTDELAY - in seconds
Delay before automatically booting the default image;
set to -1 to disable autoboot.
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
CFG_CMD_LOADS loads
CFG_CMD_MEMORY md, mm, nm, mw, cp, cmp, crc, base,
loop, mtest
+ CFG_CMD_MMC MMC memory mapped support
CFG_CMD_MII MII utility commands
CFG_CMD_NET bootp, tftpboot, rarpboot
CFG_CMD_PCI * pciinfo
SIU Watchdog feature is enabled in the SYPCR
register.
+- U-Boot Version:
+ CONFIG_VERSION_VARIABLE
+ If this variable is defined, an environment variable
+ named "ver" is created by U-Boot showing the U-Boot
+ version as printed by the "version" command.
+ This variable is readonly.
+
- Real-Time Clock:
When CFG_CMD_DATE is selected, the type of the RTC
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
+
+ Note that if the RTC uses I2C, then the I2C interface
+ must also be configured. See I2C Support, below.
- Timestamp Support:
CFG_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz)
- NETWORK Support (PCI):
+ CONFIG_E1000
+ Support for Intel 8254x gigabit chips.
+
CONFIG_EEPRO100
Support for Intel 82557/82559/82559ER chips.
Optional CONFIG_EEPRO100_SROM_WRITE enables eeprom
CONFIG_NS8382X
Support for National dp8382[01] gigabit chips.
+- NETWORK Support (other):
+
+ CONFIG_DRIVER_LAN91C96
+ Support for SMSC's LAN91C96 chips.
+
+ CONFIG_LAN91C96_BASE
+ Define this to hold the physical address
+ of the LAN91C96's I/O space
+
+ CONFIG_LAN91C96_USE_32_BIT
+ Define this to enable 32 bit addressing
+
- USB Support:
At the moment only the UHCI host controller is
supported (PIP405, MIP405); define
Supported are USB Keyboards and USB Floppy drives
(TEAC FD-05PUB).
+- MMC Support:
+ The MMC controller on the Intel PXA is supported. To
+ enable this define CONFIG_MMC. The MMC can be
+ accessed from the boot prompt by mapping the device
+ to physical memory similar to flash. Command line is
+ enabled with CFG_CMD_MMC. The MMC driver also works with
+ the FAT fs. This is enabled with CFG_CMD_FAT.
+
- Keyboard Support:
CONFIG_ISA_KEYBOARD
16,7 Mill (24bit) 315 318 31b
(i.e. setenv videomode 317; saveenv; reset;)
- CONFIG_VIDEO_SED13806
+ CONFIG_VIDEO_SED13806
Enable Epson SED13806 driver. This driver supports 8bpp
and 16bpp modes defined by CONFIG_VIDEO_SED13806_8BPP
or CONFIG_VIDEO_SED13806_16BPP
+- Keyboard Support:
+ CONFIG_KEYBOARD
+
+ Define this to enable a custom keyboard support.
+ This simply calls drv_keyboard_init() which must be
+ defined in your board-specific files.
+ The only board using this so far is RBC823.
- LCD Support: CONFIG_LCD
Normally display is black on white background; define
CFG_WHITE_ON_BLACK to get it inverted.
+- Spash Screen Support: CONFIG_SPLASH_SCREEN
+
+ If this option is set, the environment is checked for
+ a variable "splashimage". If found, the usual display
+ of logo, copyright and system information on the LCD
+ is supressed and the BMP image at the address
+ specified in "splashimage" is loaded instead. The
+ console is redirected to the "nulldev", too. This
+ allows for a "silent" boot where a splash screen is
+ loaded very quickly after power-on.
+
+
- Ethernet address:
CONFIG_ETHADDR
CONFIG_ETH2ADDR
- I2C Support: CONFIG_HARD_I2C | CONFIG_SOFT_I2C
- Enables I2C serial bus commands. If this is selected,
- either CONFIG_HARD_I2C or CONFIG_SOFT_I2C must be defined
- to include the appropriate I2C driver.
+ These enable I2C serial bus commands. Defining either of
+ (but not both of) CONFIG_HARD_I2C or CONFIG_SOFT_I2C will
+ include the appropriate I2C driver for the selected cpu.
- See also: common/cmd_i2c.c for a description of the
+ This will allow you to use i2c commands at the u-boot
+ command line (as long as you set CFG_CMD_I2C in
+ CONFIG_COMMANDS) and communicate with i2c based realtime
+ clock chips. See common/cmd_i2c.c for a description of the
command line interface.
+ CONFIG_HARD_I2C selects the CPM hardware driver for I2C.
- CONFIG_HARD_I2C
+ CONFIG_SOFT_I2C configures u-boot to use a software (aka
+ bit-banging) driver instead of CPM or similar hardware
+ support for I2C.
- Selects the CPM hardware driver for I2C.
+ There are several other quantities that must also be
+ defined when you define CONFIG_HARD_I2C or CONFIG_SOFT_I2C.
- CONFIG_SOFT_I2C
+ In both cases you will need to define CFG_I2C_SPEED
+ to be the frequency (in Hz) at which you wish your i2c bus
+ to run and CFG_I2C_SLAVE to be the address of this node (ie
+ the cpu's i2c node address).
+
+ Now, the u-boot i2c code for the mpc8xx (cpu/mpc8xx/i2c.c)
+ sets the cpu up as a master node and so its address should
+ therefore be cleared to 0 (See, eg, MPC823e User's Manual
+ p.16-473). So, set CFG_I2C_SLAVE to 0.
- Use software (aka bit-banging) driver instead of CPM
- or similar hardware support for I2C. This is configured
- via the following defines.
+ That's all that's required for CONFIG_HARD_I2C.
+
+ If you use the software i2c interface (CONFIG_SOFT_I2C)
+ then the following macros need to be defined (examples are
+ from include/configs/lwmon.h):
I2C_INIT
- (Optional). Any commands necessary to enable I2C
+ (Optional). Any commands necessary to enable the I2C
controller or configure ports.
+ eg: #define I2C_INIT (immr->im_cpm.cp_pbdir |= PB_SCL)
+
I2C_PORT
(Only for MPC8260 CPU). The I/O port to use (the code
(driven). If the data line is open collector, this
define can be null.
+ eg: #define I2C_ACTIVE (immr->im_cpm.cp_pbdir |= PB_SDA)
+
I2C_TRISTATE
The code necessary to make the I2C data line tri-stated
(inactive). If the data line is open collector, this
define can be null.
+ eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA)
+
I2C_READ
Code that returns TRUE if the I2C data line is high,
FALSE if it is low.
+ eg: #define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)
+
I2C_SDA(bit)
If <bit> is TRUE, sets the I2C data line high. If it
is FALSE, it clears it (low).
+ eg: #define I2C_SDA(bit) \
+ if(bit) immr->im_cpm.cp_pbdat |= PB_SDA; \
+ else immr->im_cpm.cp_pbdat &= ~PB_SDA
+
I2C_SCL(bit)
If <bit> is TRUE, sets the I2C clock line high. If it
is FALSE, it clears it (low).
+ eg: #define I2C_SCL(bit) \
+ if(bit) immr->im_cpm.cp_pbdat |= PB_SCL; \
+ else immr->im_cpm.cp_pbdat &= ~PB_SCL
+
I2C_DELAY
This delay is invoked four times per clock cycle so this
controls the rate of data transfer. The data rate thus
- is 1 / (I2C_DELAY * 4).
+ is 1 / (I2C_DELAY * 4). Often defined to be something
+ like:
+
+ #define I2C_DELAY udelay(2)
+
+ CFG_I2C_INIT_BOARD
+
+ When a board is reset during an i2c bus transfer
+ chips might think that the current transfer is still
+ in progress. On some boards it is possible to access
+ the i2c SCLK line directly, either by using the
+ processor pin as a GPIO or by having a second pin
+ connected to the bus. If this option is defined a
+ custom i2c_init_board() routine in boards/xxx/board.c
+ is run early in the boot sequence.
- SPI Support: CONFIG_SPI
Used to specify the types of FPGA devices. For
example,
- #define CONFIG_FPGA CFG_XILINX_VIRTEX2
+ #define CONFIG_FPGA CFG_XILINX_VIRTEX2
- CFG_FPGA_PROG_FEEDBACK
+ CFG_FPGA_PROG_FEEDBACK
Enable printing of hash marks during FPGA
configuration.
- FPGA Support: CONFIG_FPGA_COUNT
- Specify the number of FPGA devices to support.
+ Specify the number of FPGA devices to support.
- CONFIG_FPGA
+ CONFIG_FPGA
- Used to specify the types of FPGA devices. For example,
- #define CONFIG_FPGA CFG_XILINX_VIRTEX2
+ Used to specify the types of FPGA devices. For example,
+ #define CONFIG_FPGA CFG_XILINX_VIRTEX2
- CFG_FPGA_PROG_FEEDBACK
+ CFG_FPGA_PROG_FEEDBACK
- Enable printing of hash marks during FPGA configuration.
+ Enable printing of hash marks during FPGA configuration.
CFG_FPGA_CHECK_BUSY
If CONFIG_ENV_OVERWRITE is #defined in your config
file, the write protection for vendor parameters is
- completely disabled. Anybody can change or delte
+ completely disabled. Anybody can change or delete
these parameters.
Alternatively, if you #define _both_ CONFIG_ETHADDR
In the current implementation, the local variables
space and global environment variables space are
separated. Local variables are those you define by
- simply typing like `name=value'. To access a local
+ simply typing `name=value'. To access a local
variable later on, you have write `$name' or
- `${name}'; variable directly by typing say `$name' at
- the command prompt.
+ `${name}'; to execute the contents of a variable
+ directly type `$name' at the command prompt.
Global environment variables are those you use
setenv/printenv to work with. To run a command stored
the environment like the autoscript function or the
boot command first.
+- DataFlash Support
+ CONFIG_HAS_DATAFLASH
+
+ Defining this option enables DataFlash features and
+ allows to read/write in Dataflash via the standard
+ commands cp, md...
+
- Show boot progress
CONFIG_SHOW_BOOT_PROGRESS
Modem Support:
--------------
-[so far only for SMDK2400 board]
+[so far only for SMDK2400 and TRAB boards]
- Modem support endable:
CONFIG_MODEM_SUPPORT
See also: doc/README.Modem
-
-
Configuration Settings:
-----------------------
List of legal baudrate settings for this board.
- CFG_CONSOLE_INFO_QUIET
- Suppress display of console information at boot.
+ Suppress display of console information at boot.
- CFG_CONSOLE_IS_IN_ENV
- If the board specific function
- extern int overwrite_console (void);
- returns 1, the stdin, stderr and stdout are switched to the
+ If the board specific function
+ extern int overwrite_console (void);
+ returns 1, the stdin, stderr and stdout are switched to the
serial port, else the settings in the environment are used.
- CFG_CONSOLE_OVERWRITE_ROUTINE
- Enable the call to overwrite_console().
+ Enable the call to overwrite_console().
- CFG_CONSOLE_ENV_OVERWRITE
Enable overwrite of previous console environment settings.
simple memory test.
- CFG_ALT_MEMTEST:
- Enable an alternate, more extensive memory test.
+ Enable an alternate, more extensive memory test.
- CFG_TFTP_LOADADDR:
Default load address for network file downloads
CFG_FLASH_BASE when booting from flash.
- CFG_MONITOR_LEN:
- Size of memory reserved for monitor code
+ Size of memory reserved for monitor code, used to
+ determine _at_compile_time_ (!) if the environment is
+ embedded within the U-Boot image, or in a separate
+ flash sector.
- CFG_MALLOC_LEN:
Size of DRAM reserved for malloc() use.
- CFG_FLASH_WRITE_TOUT:
Timeout for Flash write operations (in ms)
+- CFG_FLASH_LOCK_TOUT
+ Timeout for Flash set sector lock bit operation (in ms)
+
+- CFG_FLASH_UNLOCK_TOUT
+ Timeout for Flash clear lock bits operation (in ms)
+
+- CFG_FLASH_PROTECTION
+ If defined, hardware flash sectors protection is used
+ instead of U-Boot software protection.
+
- CFG_DIRECT_FLASH_TFTP:
Enable TFTP transfers directly to flash memory;
Define if the flash driver uses extra elements in the
common flash structure for storing flash geometry
+- CFG_RX_ETH_BUFFER:
+ Defines the number of ethernet receive buffers. On some
+ ethernet controllers it is recommended to set this value
+ to 8 or even higher (EEPRO100 or 405 EMAC), since all
+ buffers can be full shortly after enabling the interface
+ on high ethernet traffic.
+ Defaults to 4 if not defined.
+
The following definitions that deal with the placement and management
of environment data (variable area); in general, we support the
following configurations:
These settings describe a second storage area used to hold
a redundand copy of the environment data, so that there is
- a valid backup copy in case there is a power failur during
+ a valid backup copy in case there is a power failure during
a "saveenv" operation.
BE CAREFUL! Any changes to the flash layout, and some changes to the
created; also, when using EEPROM you will have to use getenv_r()
until then to read environment variables.
-The environment is now protected by a CRC32 checksum. Before the
-monitor is relocated into RAM, as a result of a bad CRC you will be
-working with the compiled-in default environment - *silently*!!!
-[This is necessary, because the first environment variable we need is
-the "baudrate" setting for the console - if we have a bad CRC, we
-don't have any device yet where we could complain.]
+The environment is protected by a CRC32 checksum. Before the monitor
+is relocated into RAM, as a result of a bad CRC you will be working
+with the compiled-in default environment - *silently*!!! [This is
+necessary, because the first environment variable we need is the
+"baudrate" setting for the console - if we have a bad CRC, we don't
+have any device yet where we could complain.]
Note: once the monitor has been relocated, then it will complain if
the default environment is used; a new CRC is computed as soon as you
-use the "setenv" command to modify / delete / add any environment
-variable [even when you try to delete a non-existing variable!].
-
-Note2: you must edit your u-boot.lds file to reflect this
-configuration.
+use the "saveenv" command to store a valid environment.
Low Level (hardware related) configuration options:
+---------------------------------------------------
- CFG_CACHELINE_SIZE:
Cache Line Size of the CPU.
- MPC824X: data cache
- PPC4xx: data cache
-- CFG_INIT_DATA_OFFSET:
+- CFG_GBL_DATA_OFFSET:
Offset of the initial data structure in the memory
area defined by CFG_INIT_RAM_ADDR. Usually
- CFG_INIT_DATA_OFFSET is chosen such that the initial
+ CFG_GBL_DATA_OFFSET is chosen such that the initial
data is located at the end of the available space
(sometimes written as (CFG_INIT_RAM_END -
CFG_INIT_DATA_SIZE), and the initial stack is just
below that area (growing from (CFG_INIT_RAM_ADDR +
- CFG_INIT_DATA_OFFSET) downward.
+ CFG_GBL_DATA_OFFSET) downward.
Note:
On the MPC824X (or other systems that use the data
#define'd default value in commproc.h resp.
cpm_8260.h.
+- CFG_PCI_SLV_MEM_LOCAL, CFG_PCI_SLV_MEM_BUS, CFG_PICMR0_MASK_ATTRIB,
+ CFG_PCI_MSTR0_LOCAL, CFG_PCIMSK0_MASK, CFG_PCI_MSTR1_LOCAL,
+ CFG_PCIMSK1_MASK, CFG_PCI_MSTR_MEM_LOCAL, CFG_PCI_MSTR_MEM_BUS,
+ CFG_CPU_PCI_MEM_START, CFG_PCI_MSTR_MEM_SIZE, CFG_POCMR0_MASK_ATTRIB,
+ CFG_PCI_MSTR_MEMIO_LOCAL, CFG_PCI_MSTR_MEMIO_BUS, CPU_PCI_MEMIO_START,
+ CFG_PCI_MSTR_MEMIO_SIZE, CFG_POCMR1_MASK_ATTRIB, CFG_PCI_MSTR_IO_LOCAL,
+ CFG_PCI_MSTR_IO_BUS, CFG_CPU_PCI_IO_START, CFG_PCI_MSTR_IO_SIZE,
+ CFG_POCMR2_MASK_ATTRIB: (MPC826x only)
+ Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
+
Building the Software:
======================
FPS850L_config Sandpoint8240_config sbc8260_config
GENIETV_config TQM823L_config PIP405_config
GEN860T_config EBONY_config FPS860L_config
+ ELPT860_config cmi_mpc5xx_config NETVIA_config
+ at91rm9200dk_config
Note: for some board special configuration names may exist; check if
additional information is available from the board vendor; for
etc.
-
Finally, type "make all", and you should get some working U-Boot
images ready for downlod to / installation on your system:
steps:
1. Add a new configuration option for your board to the toplevel
- "Makefile", using the existing entries as examples.
+ "Makefile" and to the "MAKEALL" script, using the existing
+ entries as examples. Note that here and at many other places
+ boards and other names are listed alphabetically sorted. Please
+ keep this order.
2. Create a new directory to hold your board specific code. Add any
- files you need.
+ files you need. In your board directory, you will need at least
+ the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
+3. Create a new configuration file "include/configs/<board>.h" for
+ your board
3. If you're porting U-Boot to a new CPU, then also create a new
directory to hold your CPU specific code. Add any files you need.
-4. Run "make config_name" with your new name.
+4. Run "make <board>_config" with your new name.
5. Type "make", and you should get a working "u-boot.srec" file
to be installed on your target system.
+6. Debug and solve any problems that might arise.
[Of course, this last step is much harder than it sounds.]
See also "U-Boot Porting Guide" below.
-
Monitor Commands - Overview:
============================
be automatically started (by internally calling
"bootm")
+ If set to "no", a standalone image passed to the
+ "bootm" command will be copied to the load address
+ (and eventually uncompressed), but NOT be started.
+ This can be used to load and uncompress arbitrary
+ data.
+
initrd_high - restrict positioning of initrd images:
If this variable is not set, initrd images will be
copied to the highest possible address in RAM; this
setenv initrd_high 00c00000
+ If you set initrd_high to 0xFFFFFFFF, this is an
+ indication to U-Boot that all addresses are legal
+ for the Linux kernel, including addresses in flash
+ memory. In this case U-Boot will NOT COPY the
+ ramdisk at all. This may be useful to reduce the
+ boot time on your system, but requires that this
+ feature is supported by your Linux kernel.
+
ipaddr - IP address; needed for tftpboot command
loadaddr - Default load address for commands like "bootp",
- "rarpboot", "tftpboot" or "diskboot"
+ "rarpboot", "tftpboot", "loadb" or "diskboot"
loads_echo - see CONFIG_LOADS_ECHO
once they have been set once.
+Further special Environment Variables:
+
+ ver - Contains the U-Boot version string as printed
+ with the "version" command. This variable is
+ readonly (see CONFIG_VERSION_VARIABLE).
+
+
Please note that changes to some configuration parameters may take
only effect after the next boot (yes, that's just like Windoze :-).
+Command Line Parsing:
+=====================
+
+There are two different command line parsers available with U-Boot:
+the old "simple" one, and the much more pwerful "hush" shell:
+
+Old, simple command line parser:
+--------------------------------
+
+- supports environment variables (through setenv / saveenv commands)
+- several commands on one line, separated by ';'
+- variable substitution using "... $(name) ..." syntax
+- special characters ('$', ';') can be escaped by prefixing with '\',
+ for example:
+ setenv bootcmd bootm \$(address)
+- You can also escape text by enclosing in single apostrophes, for example:
+ setenv addip 'setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off'
+
+Hush shell:
+-----------
+
+- similar to Bourne shell, with control structures like
+ if...then...else...fi, for...do...done; while...do...done,
+ until...do...done, ...
+- supports environment ("global") variables (through setenv / saveenv
+ commands) and local shell variables (through standard shell syntax
+ "name=value"); only environment variables can be used with "run"
+ command
+
+General rules:
+--------------
+
+(1) If a command line (or an environment variable executed by a "run"
+ command) contains several commands separated by semicolon, and
+ one of these commands fails, then the remaining commands will be
+ executed anyway.
+
+(2) If you execute several variables with one call to run (i. e.
+ calling run with a list af variables as arguments), any failing
+ command will cause "run" to terminate, i. e. the remaining
+ variables are not executed.
+
Note for Redundant Ethernet Interfaces:
=======================================
is raised.
-
Image Formats:
==============
* Target Operating System (Provisions for OpenBSD, NetBSD, FreeBSD,
4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
- LynxOS, pSOS, QNX;
- Currently supported: Linux, NetBSD, VxWorks, QNX).
+ LynxOS, pSOS, QNX, RTEMS, ARTOS;
+ Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS).
* Target CPU Architecture (Provisions for Alpha, ARM, Intel x86,
IA64, MIPS, MIPS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
Currently supported: PowerPC).
Verifying Checksum ... OK
-
Boot Linux:
-----------
U-Boot supports the following image types:
"Standalone Programs" are directly runnable in the environment
- provided by U-Boot; it is expected that (if they behave
- well) you can continue to work in U-Boot after return from
- the Standalone Program.
+ provided by U-Boot; it is expected that (if they behave
+ well) you can continue to work in U-Boot after return from
+ the Standalone Program.
"OS Kernel Images" are usually images of some Embedded OS which
- will take over control completely. Usually these programs
- will install their own set of exception handlers, device
- drivers, set up the MMU, etc. - this means, that you cannot
- expect to re-enter U-Boot except by resetting the CPU.
+ will take over control completely. Usually these programs
+ will install their own set of exception handlers, device
+ drivers, set up the MMU, etc. - this means, that you cannot
+ expect to re-enter U-Boot except by resetting the CPU.
"RAMDisk Images" are more or less just data blocks, and their
- parameters (address, size) are passed to an OS kernel that is
- being started.
+ parameters (address, size) are passed to an OS kernel that is
+ being started.
"Multi-File Images" contain several images, typically an OS
- (Linux) kernel image and one or more data images like
- RAMDisks. This construct is useful for instance when you want
- to boot over the network using BOOTP etc., where the boot
- server provides just a single image file, but you want to get
- for instance an OS kernel and a RAMDisk image.
-
- "Multi-File Images" start with a list of image sizes, each
- image size (in bytes) specified by an "uint32_t" in network
- byte order. This list is terminated by an "(uint32_t)0".
- Immediately after the terminating 0 follow the images, one by
- one, all aligned on "uint32_t" boundaries (size rounded up to
- a multiple of 4 bytes).
-
+ (Linux) kernel image and one or more data images like
+ RAMDisks. This construct is useful for instance when you want
+ to boot over the network using BOOTP etc., where the boot
+ server provides just a single image file, but you want to get
+ for instance an OS kernel and a RAMDisk image.
+
+ "Multi-File Images" start with a list of image sizes, each
+ image size (in bytes) specified by an "uint32_t" in network
+ byte order. This list is terminated by an "(uint32_t)0".
+ Immediately after the terminating 0 follow the images, one by
+ one, all aligned on "uint32_t" boundaries (size rounded up to
+ a multiple of 4 bytes).
+
"Firmware Images" are binary images containing firmware (like
- U-Boot or FPGA images) which usually will be programmed to
- flash memory.
-
+ U-Boot or FPGA images) which usually will be programmed to
+ flash memory.
+
"Script files" are command sequences that will be executed by
- U-Boot's command interpreter; this feature is especially
- useful when you configure U-Boot to use a real shell (hush)
- as command interpreter.
+ U-Boot's command interpreter; this feature is especially
+ useful when you configure U-Boot to use a real shell (hush)
+ as command interpreter.
Standalone HOWTO:
[q, b, e, ?] ## Application terminated, rc = 0x0
+Minicom warning:
+================
+
+Over time, many people have reported problems when trying to used the
+"minicom" terminal emulation program for serial download. I (wd)
+consider minicom to be broken, and recommend not to use it. Under
+Unix, I recommend to use C-Kermit for general purpose use (and
+especially for kermit binary protocol download ("loadb" command), and
+use "cu" for S-Record download ("loads" command).
+
+Nevertheless, if you absolutely want to use it try adding this
+configuration to your "File transfer protocols" section:
+
+ Name Program Name U/D FullScr IO-Red. Multi
+ X kermit /usr/bin/kermit -i -l %l -s Y U Y N N
+ Y kermit /usr/bin/kermit -i -l %l -r N D Y N N
+
+
NetBSD Notes:
=============
==> U-Boot will use R8 to hold a pointer to the global data
-
Memory Management:
------------------
}
-
Coding Standards:
-----------------
We accept patches as plain text, MIME attachments or as uuencoded
gzipped text.
+* If one logical set of modifications affects or creates several
+ files, all these changes shall be submitted in a SINGLE patch file.
+
+* Changesets that contain different, unrelated modifications shall be
+ submitted as SEPARATE patches, one patch per changeset.
+
+
Notes:
* Before sending the patch, run the MAKEALL script on your patched