The actions executed by the DSP immediately after a power-down or a reset are called DSP boot and are defined by a certain number of configurable input pins.
This paragraph will focus on how the an executable file(s) is uploaded to the DSP after a power-down or reset.
Two methods are available, which typically correspond to differently built executables. More information on the code-building process and the many file extensions that can be found.
The first method is to use the JTAG connector to directly upload to the executable in the DSP.
Upon a DSP power-down, the code will typically not be retained in the DSP and another code upload will be necessary. This method is used during the system debugging phase when additional useful information can be gathered via the JTAG.
On operational systems, the DSP loads the executable code without a JTAG cable. Many methods are available for doing this, depending on the DSP family and manufacturer; some general ways are described below.
a) No boot. The DSP fetches instructions directly from a pre-determined memory address, corresponding to EPROM or Flash memory, and executes them. On SHARC DSPs, for instance, the pre-defined start address is typically 0x80 0004.
b) Host-boot. The DSP is stalled until the host configures the DSP memory. For TI TMS320C6xxx DSPs, for instance, are done via the HPI interface.
When all necessary memory is initialized, the host processor takes the DSP out of the reset state by writing in a HPI register.
c) ROM-boot. A boot kernel is uploaded from ROM to DSP at boot time and starts executing itself. The kernel copies data from an external ROM to the DSP by using the DMA controller and overwrites itself with the last DMA transfer.
After the transfer is completed the DSP begins its program execution.