except those marked below with a "*".
CONFIG_CMD_ASKENV * ask for env variable
- CONFIG_CMD_AUTOSCRIPT Autoscript Support
CONFIG_CMD_BDI bdinfo
CONFIG_CMD_BEDBUG * Include BedBug Debugger
CONFIG_CMD_BMP * BMP support
(requires CONFIG_CMD_I2C)
CONFIG_CMD_SETGETDCR Support for DCR Register access
(4xx only)
+ CONFIG_CMD_SOURCE "source" command Support
CONFIG_CMD_SPI * SPI serial bus support
CONFIG_CMD_USB * USB support
CONFIG_CMD_VFD * VFD support (TRAB)
clock chips. See common/cmd_i2c.c for a description of the
command line interface.
- CONFIG_I2C_CMD_TREE is a recommended option that places
- all I2C commands under a single 'i2c' root command. The
- older 'imm', 'imd', 'iprobe' etc. commands are considered
- deprecated and may disappear in the future.
-
CONFIG_HARD_I2C selects a hardware I2C controller.
CONFIG_SOFT_I2C configures u-boot to use a software (aka
CONFIG_SYS_I2C_NOPROBES
This option specifies a list of I2C devices that will be skipped
- when the 'i2c probe' command is issued (or 'iprobe' using the legacy
- command). If CONFIG_I2C_MULTI_BUS is set, specify a list of bus-device
- pairs. Otherwise, specify a 1D array of device addresses
+ when the 'i2c probe' command is issued. If CONFIG_I2C_MULTI_BUS
+ is set, specify a list of bus-device pairs. Otherwise, specify
+ a 1D array of device addresses
e.g.
#undef CONFIG_I2C_MULTI_BUS
Note: overly (ab)use of the default environment is
discouraged. Make sure to check other ways to preset
- the environment like the autoscript function or the
+ the environment like the "source" command or the
boot command first.
- DataFlash Support:
These options enable and control the auto-update feature;
for a more detailed description refer to doc/README.update.
+- MTD Support (mtdparts command, UBI support)
+ CONFIG_MTD_DEVICE
+
+ Adds the MTD device infrastructure from the Linux kernel.
+ Needed for mtdparts command support.
+
+ CONFIG_MTD_PARTITIONS
+
+ Adds the MTD partitioning infrastructure from the Linux
+ kernel. Needed for UBI support.
+
Legacy uImage format:
Arg Where When
81 common/cmd_net.c NetLoop() back without error
-82 common/cmd_net.c size == 0 (File with size 0 loaded)
82 common/cmd_net.c trying automatic boot
- 83 common/cmd_net.c running autoscript
- -83 common/cmd_net.c some error in automatic boot or autoscript
+ 83 common/cmd_net.c running "source" command
+ -83 common/cmd_net.c some error in automatic boot or "source" command
84 common/cmd_net.c end without errors
FIT uImage format:
to a block boundary, and CONFIG_ENV_SIZE must be a multiple of
the NAND devices block size.
+- CONFIG_NAND_ENV_DST
+
+ Defines address in RAM to which the nand_spl code should copy the
+ environment. If redundant environment is used, it will be copied to
+ CONFIG_NAND_ENV_DST + CONFIG_ENV_SIZE.
+
- CONFIG_SYS_SPI_INIT_OFFSET
Defines offset to the initial SPI buffer area in DPRAM. The
some other boot loader or by a debugger which
performs these initializations itself.
+- CONFIG_PRELOADER
+
+ Modifies the behaviour of start.S when compiling a loader
+ that is executed before the actual U-Boot. E.g. when
+ compiling a NAND SPL.
Building the Software:
======================
$ CROSS_COMPILE=ppc_4xx-
$ export CROSS_COMPILE
+Note: If you wish to generate Windows versions of the utilities in
+ the tools directory you can use the MinGW toolchain
+ (http://www.mingw.org). Set your HOST tools to the MinGW
+ toolchain and execute 'make tools'. For example:
+
+ $ make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools
+
+ Binaries such as tools/mkimage.exe will be created which can
+ be executed on computers running Windows.
+
U-Boot is intended to be simple to build. After installing the
sources you must configure U-Boot for one specific board type. This
is done by typing:
cp - memory copy
cmp - memory compare
crc32 - checksum calculation
-imd - i2c memory display
-imm - i2c memory modify (auto-incrementing)
-inm - i2c memory modify (constant address)
-imw - i2c memory write (fill)
-icrc32 - i2c checksum calculation
-iprobe - probe to discover valid I2C chip addresses
-iloop - infinite loop on address range
-isdram - print SDRAM configuration information
+i2c - I2C sub-system
sspi - SPI utility commands
base - print or set address offset
printenv- print environment variables
autoscript - if set to "yes" commands like "loadb", "loady",
"bootp", "tftpb", "rarpboot" and "nfs" will attempt
to automatically run script images (by internally
- calling "autoscript").
+ calling "source").
autoscript_uname - if script image is in a format (FIT) this
variable is used to get script subimage unit name.
list, October 2002]
-int main (int argc, char *argv[])
+int main(int argc, char *argv[])
{
sighandler_t no_more_time;
- signal (SIGALRM, no_more_time);
- alarm (PROJECT_DEADLINE - toSec (3 * WEEK));
+ signal(SIGALRM, no_more_time);
+ alarm(PROJECT_DEADLINE - toSec (3 * WEEK));
if (available_money > available_manpower) {
- pay consultant to port U-Boot;
+ Pay consultant to port U-Boot;
return 0;
}
Subscribe to u-boot mailing list;
- if (clueless) {
- email ("Hi, I am new to U-Boot, how do I get started?");
- }
+ if (clueless)
+ email("Hi, I am new to U-Boot, how do I get started?");
while (learning) {
Read the README file in the top level directory;
- Read http://www.denx.de/twiki/bin/view/DULG/Manual ;
+ Read http://www.denx.de/twiki/bin/view/DULG/Manual;
+ Read applicable doc/*.README;
Read the source, Luke;
+ /* find . -name "*.[chS]" | xargs grep -i <keyword> */
}
- if (available_money > toLocalCurrency ($2500)) {
- Buy a BDI2000;
- } else {
+ if (available_money > toLocalCurrency ($2500))
+ Buy a BDI3000;
+ else
Add a lot of aggravation and time;
- }
- Create your own board support subdirectory;
-
- Create your own board config file;
-
- while (!running) {
- do {
- Add / modify source code;
- } until (compiles);
- Debug;
- if (clueless)
- email ("Hi, I am having problems...");
+ if (a similar board exists) { /* hopefully... */
+ cp -a board/<similar> board/<myboard>
+ cp include/configs/<similar>.h include/configs/<myboard>.h
+ } else {
+ Create your own board support subdirectory;
+ Create your own board include/configs/<myboard>.h file;
+ }
+ Edit new board/<myboard> files
+ Edit new include/configs/<myboard>.h
+
+ while (!accepted) {
+ while (!running) {
+ do {
+ Add / modify source code;
+ } until (compiles);
+ Debug;
+ if (clueless)
+ email("Hi, I am having problems...");
+ }
+ Send patch file to the U-Boot email list;
+ if (reasonable critiques)
+ Incorporate improvements from email list code review;
+ else
+ Defend code as written;
}
- Send patch file to Wolfgang;
return 0;
}