The feature set of RedBoot provides assistance in all phases of a product's life-cycle. In the initial development phases it supplies a standardized bootstrap and debug environment on commercial development boards, and on an OEM's own prototype hardware. During manufacturing it can provide application installation, power-on self tests (POST), and built-in diagnostic tests. Finally, when products are deployed, RedBoot provides the system bootstrap mechanism, site specific configuration ability, as well as a straightforward migration path for firmware, OS, and file system content upgrades.
RedBoot has been adopted by many semiconductor and development board manufacturers as their standard bootstrap firmware. All major architectures are supported including ARM, ColdFire, MIPS, PowerPC, SuperH, XScale and x86. RedBoot is the standard firmware shipped in all of Intel's XScale development boards. It has also been used in various boards from Freescale in their i.MX and PowerPC ranges, SH based boards from STMicroelectronics and SuperH, and Cirrus Logic's ARM boards. A wide variety of third-party development boards that feature RedBoot are available from ADI Engineering, Arcom, Analogue & Micro, Embedded Planet, RadiSys, SSV, Telelogic, and many others. Most development boards supported by eCosCentric's eCosPro® Developer's Kit also include a port of RedBoot. RedBoot has been deployed in embedded products from Axis, Buffalo, HP, Intel, Linksys, NETGEAR, Yamaha, Zyxel, and many others.
RedBoot is, in essence, a minimal eCos RTOS application, using the hardware abstraction layer (HAL) and device drivers from eCos to provide its portability and device access infrastructure. It therefore inherits the key eCos qualities of reliability, portability and configurability, and leverages the wide range of peripherals, processor ports, development and evaluation platforms already supported by the eCos HAL.
Typical flash memory footprints are less than 64kB for basic configurations, rising to 96kB or more for fully-featured systems that include TCP/IP & Ethernet connectivity, image decompression, filesystem, and Linux bootstrap support. The compact and configurable nature of RedBoot and eCos allows functionality to be enabled, customised, or removed to suit the target system's functional requirements and Flash budget. For example, network communications and filesystem access capabilities can be used to speed software development, and then removed for the product to minimise RedBoots overall flash footprint.
RedBoot has been architected for flexibility and rapid customisation. Interruptible boot scripts enable adaptable custom boot sequences that can automatically load application and data images from flash memory, removable memory cards, or even by downloading via an Ethernet connection.
Power-on self testing is readily implemented and new RedBoot commands may be created to provide vendor specific customizations such as POST and hardware diagnostics. These new commands can then be either inserted into the boot script or run interactively. In addition to the bootstrap of native and eCos RTOS based applications, RedBoot can also boot other operating systems, and in particular embedded Linux. Linux-specific features include architecture specific initialization of processor and board state, kernel boot parameters, kernel image decompression support, and kernel image loading from native ext2, JFFS2 and other file systems.