Design Article
Design an efficient bootloader for portable multimedia systems, Part 1
Vignesh A. Loganthan, and Biju M. Gopinath, Texas Instruments
3/7/2007 12:13 PM EST
Part 2 deals with security features of the bootloaders, application scenarios to support fast booting of the devices, and the key benefits of this integrated boot solution.
Multimedia System-On-Chips are integral part of today's portable devices and these SoCs can be used in different application scenarios mainly driven by market needs. Also, these processors should be capable of booting up from several on board memory (EEPROM, NAND, NOR, OneNAND etc) or other host processor (via USB, SPI, I2C etc). Though flash memory based booting is most commonly used, device manufacturers have several types of memory chips with different organization to choose from. There are several factors like cost, speed, interfacing which determine the most appropriate memory for the multimedia system. Digital Signal Processors (DSPs) with their media processing capabilities are typical part of Digital Media SoCs. DSPs also become highly effective in enabling different security features on portable devices. An integrated boot loader solution which runs from processors internal ROM is the most appropriate approach as the ROM bootloader (RBL) can be simple but comprehensive in design to support multiple boot modes. RBL starts executing on device reset and executes the basic initialization. It detects the chosen boot mode and copies a User boot loader (UBL) to the internal RAM from the non-volatile memory or the host processor. A two-phase boot approach gives flexibility to customize the UBL as per the system requirements. These steps for a NAND boot are shown in Figure 1.

Figure 1: Two Phase Boot Process
We shall further elaborate on different boot modes by considering Digital Media (DM) SoCs from Texas Instruments. These processors are typically multiprocessor systems with an ARM core acting as the control processor and a DSP (TMS320C64x) acting as a media engine. The ARM RBL will act as the primary boot loader and boot the device without involving the DSP in different Non-secure boot modes. Secure booting can be enabled using the DSP's secure kernel.
Next: Boot modes



