In many DSP applications there is a need to copy code and/or data from one location to another at boot. C6000 DSPs offer three types of boot configurations: no boot process, ROM boot process, and host boot process. The most commonly selected boot configuration is the ROM boot process. When ROM boot is selected as the boot configuration, 1K byte (on C621x/C671x/C64x™) of code will automatically be copied from CE1 to address 0 by the EDMA following the release of /RESET while the CPU is stalled.
DSP applications are not limited to 1K byte of code. In the event the application size exceeds 1K byte, a custom boot routine will need to be developed to copy the additional sections of code not copied by the ROM boot. The custom boot routine is referred to as the second level bootload, or the secondary bootloader. This application note describes how to create a secondary bootloader by converting a RAM-based application to a flash-based application. This was done by migrating a C6000 DSP-based DSP/BIOS application developed on the Code Composer Studio development environment to an actual embedded product. This application note will use DSP/BIOS Reference Framework Level 3 (RF3) example to illustrate flash booting on a dsk6713 board. The appendix of this application note also provides an example of a secondary bootloader for a non-BIOS application. Code for both the DSP/BIOS and non-BIOS examples are available for download with this application note.