You are on page 1of 2

RedBoot

Product Overview
RedBoot is a comprehensive debug and bootstrap firmware solution for the development, deployment, and management of embedded devices. It supports a wide variety of embedded applications ranging from native stand-alone, proprietary and eCos RTOS based applications, through to embedded Linux based systems. RedBoot is fully open source, and free of royalty and license fees. 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.

Technical Overview
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.

Flash Memory Management


Redboot incorporates its own simple flash based image storage system that provides the ability to manage multiple code and data images stored directly within the system's flash memory. Persistent configuration data such as networking parameters and the boot script are also stored in a reserved area of flash memory. Multiple flash device types can be accomodated enabling a single RedBoot binary to support multiple hardware versions. RedBoot's flexible built-in image handling support simplifies system development and deployment, and even provides for the updating of RedBoot itself. Code can either be executed in place (if held in NOR flash), or copied (with decompression if required), into RAM prior to execution. The built-in support for decompression increases available flash storage capacity, and reduces download time. eCosCentric also provides the optional RBL (Robust Boot Loader) extension for reliable in-field flash upgrades. This ensures that backup copies of updated files are retained and will continue to be used should the upgrade process be interrupted or fail.

File System Support


RedBoot's built-in flash image storage system is suitable for many embedded applications, but for more demanding applications, full file system functionality is available. This supports a number of different file systems types including JFFS2 (Journaling Flash File System), MSDOS compatible file systems, and the Linux ext2 file system. MS-DOS file systems can reside on either hard disks or removable cards such as MMC or Compact Flash. FAT12, FAT16 and FAT32 formats along with long file names are all supported. Linux Ext2 file system functionality is limited to read-only hard disk access. RedBoot provides set of commands common to all supported file systems which cover file writing, loading, moving and deletion; directory listing, creation and deletion; and file system mounting, unmounting and status information.

System and Application Debugging


Support for direct connection of the GNU source level debugger (GDB) to the target system is integrated into RedBoot. This enables immediate download and debugging of embedded applications from within the debugger environment. Developers can make use of all the standard GDB features such as single stepping, breakpoints, watchpoints, state inspection, and interruption of the application's execution. A communications channel is also provided that allows the application to send diagnostic messages for display on the host. The debug support is compatible with both the command line version of GDB, and GUI-based debugger incorporated in the Eclipse-based IDE supplied with the eCosPro Developer's Kit. RedBoot also provides a command line interface (CLI) based maintainance console, through which developers have full access to all the commands provided by RedBoot. Commands cover communications, manipulation of persistent data, flash image management, file system management, image download, and code execution. Commands are also available to inspect, edit, fill, copy, compare, or checksum memory.

You might also like