www.ti.com
Read first word (W1)
W1=
0x10AA
?
No
16-bit data size
Yes
Read EntryPoint address
Read second word
(W2) and discard
upper 8-bits
?
0x08AA
W2:W1=
Yes
No
8-bit
DataSize
Data format error
Return
FLASH_ENTRY_POINT
Read BlockSize (R)
?
R=0
No
Yes
Return
EntryPoint
Read BlockAddress
Transfer R words of
data from source to
destination
2.12 InitBoot Assembly Routine
InitBoot Assembly Routine
Figure 2-6. Bootloader Basic Transfer Procedure
A
8-bit and 16-bit transfers are not valid for all boot modes. See the info specific to a particular bootloader for any
limitations.
B
In 8-bit mode, the LSB of the 16-bit word is read first followed by the MSB.
The first routine called after reset is the InitBoot assembly routine. This routine initializes the device for
operation in C28x object mode. InitBoot also performs a dummy read of the Code Security Module (CSM)
password locations. If the CSM passwords are erased (all 0xFFFFs) then this has the effect of unlocking
the CSM. Otherwise the CSM will remain locked and this dummy read of the password locations will have
no effect. This can be useful if you have a new device that you want to boot load.
After the dummy read of the CSM password locations, the InitBoot routine calls the SelectBootMode
function. This function determines the type of boot mode desired by the state of certain GPIO pins. This
process is described in
. Once the boot is complete, the SelectBootMode function passes
back the entry point address (EntryAddr) to the InitBoot function. EntryAddr is the location where code
execution will begin after the bootloader exits. InitBoot then calls the ExitBoot routine that then restores
CPU registers to their reset state and exits to the EntryAddr that was determined by the boot mode.
SPRU722C – November 2004 – Revised October 2006
Bootloader Features
29