
www.ti.com
P
TMS320DM6437
Digital Media Processor
SPRS345B–NOVEMBER 2006–REVISED MARCH 2007
3.4.2.3
DSPBOOTADDR Register
The DSP Boot Address (DSPBOOTADDR) register contains the starting address for the C64x+ CPU.
Whenever the C64x+ is released from reset, it begins executing from the location pointed to by
DSPBOOTADDR register. For Host boots (PCI Boot
or
HPI boot), the DSPBOOTADDR register is also
used for communication between the Host and the bootloader code during boot.
The DSPBOOTADDR register is reset by any device-level global reset. For the list of device-level global
resets, see
Section 6.5
,
Reset
.
31
0
DSPBOOTADDR
R/W-0x0010 0000
or
0x4200 00000
LEGEND: R = Read; W = Write; -
n
= value after reset
Figure 3-5. DSPBOOTADDR Register
Table 3-11. DSPBOOTADDR Register Description
Bit
Field Name
Description
DSP Boot Address
After boot, the C64x+ CPU begins execution from this 32-bit address location
0x00100000 (for Internal Bootloader ROM).
or
0x42000000 (for EMIFA CS2 Space).
31:0
DSPBOOTADDR
The lower 10 bits (bits 9:0) should
always
be programmed to "0" as they are ignored by the
C64x+.
Default depends on boot mode selected.
See
Table 3-5
,
Non-Fastboot Modes
;
Table 3-6
,
Fixed-Multiplier Fastboot Modes
; and
Table 3-7
,
User-Select Multiplier Fastboot Modes
.
At device reset, the Boot Controller defaults DSPBOOTADDR to one of two values (either Internal
Bootloader ROM at address 0x00100000 or EMIFA CS2 Space 0x42000000) based on the boot mode
selected (for the boot mode selections, see
Table 3-5
,
Table 3-6
, and
Table 3-7
).
For Non-Host Boot Modes, software can leave the DSPBOOTADDR register at default.
For Host Boots (PCI Boot
or
HPI boot), the DSPBOOTADDR register is also used for communication
between the Host and the bootloader code during boot. For Host Boots, the DSPBOOTADDR register
defaults to Internal Bootloader ROM, and the C64x+ CPU is immediately released from reset so that it can
begin executing the bootloader code in this internal ROM. The bootloader code waits for the Host to boot
the device. Once the Host is done booting the device, it
must
write a new starting address into the
DSPBOOTADDR register, and follow with writing BOOTCMPLT.BC = 1 to indicate the boot is complete.
As soon as the bootloader code detects BOOTCMPLT.BC = 1, it instructs the CPU to jump to this new
DSPBOOTADDR address. At this point, the CPU continues the rest of the code execution starting from
the new DSPBOOTADDR location and the boot is completed.
Device Configurations
94
Submit Documentation Feedback