2.2.13 InitBoot Assembly Routine
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 TRST and 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.
Init Boot
Initialize device
OBJMODE=1
AMODE = 0
MOM1MAP=1
DP = 0
OVM = 0
SPM= 0
SP = 0x400
Dummy read of
CSM password
locations
Call
SelectBootMode()
Call
ExitBoot()
Figure 2-8. Overview of InitBoot Assembly Function
2.2.14 SelectBootMode Function
To determine the desired boot mode, the SelectBootMode function examines the state of TRST and 2 GPIO pins
as shown in
.
For a boot mode to be selected, the pins corresponding to the desired boot mode have to be pulled low or high
until the selection process completes. Note that the state of the selection pins is not latched at reset; they are
sampled some cycles later in the SelectBootMode function. The internal pullup resistors are enabled at reset for
the boot mode selection pins. It is still suggested that the boot mode configuration be made externally to avoid
the effect of any noise on these pins.
Note
The SelectBootMode routine disables the watchdog before calling the SCI, I2C , SPI , or parallel
bootloaders. The bootloaders do not service the watchdog and assume that it is disabled. Before
exiting, the SelectBootMode routine will re-enable the watchdog and reset its timer.
If a bootloader is not going to be called, then the watchdog is left untouched.
When selecting a boot mode, the pins should be pulled high or low through a weak pulldown or weak pull-up
such that the device can drive them to a new state when required.
Boot ROM
218
TMS320x2806x Microcontrollers
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
Copyright © 2022 Texas Instruments Incorporated
Содержание TMS320 2806 Series
Страница 2: ......