On this device, GSx
memories are not secure. To avoid any potential hacking when the
device is in the default state (post reset), accesses (all types) to
all memories (secure as well as non-secure, except BOOT-ROM and OTP
memory) are disabled until proper security initialization is done.
This means that after reset none of the memory resources except
BOOT_ROM and OTP memory is accessible to the user.
The following steps are
required after reset (any type of reset) to initialize the security
on each CPU subsystem.
Security
Initialization
- Dummy Read to
address location of B0_Z1OTP_LINKPOINTER1 in Z1 OTP of
Bank0
- Dummy Read to
address location of B0_Z1OTP_LINKPOINTER2 in Z1 OTP of
Bank0
- Dummy Read to
address location of B0_Z1OTP_LINKPOINTER3 in Z1 OTP of
Bank0
- Dummy Read to
address location of B0_Z2OTP_LINKPOINTER1 in Z2 OTP of
Bank0
- Dummy Read to
address location of B0_Z2OTP_LINKPOINTER2 in Z2 OTP of
Bank0
- Dummy Read to
address location of B0_Z2OTP_LINKPOINTER3 in Z2 OTP of
Bank0
- Dummy Read to
address location of SECDC (0x703F0, TI-reserved register) in
TI OTP
- Dummy Read to
address location of Z1OTP_PSWDLOCK in Z1 OTP
- Dummy Read to
address location of Z1OTP_CRCLOCK in Z1 OTP
- Dummy Read to
address location 0x78018 in Z1 OTP
- Dummy Read to
address location of Z1OTP_GPREG1, Z1OTP_GPREG2, Z1OTP_GPREG3
in Z1 OTP of Bank0
- Dummy Read to
address location of Z1OTP_BOOTCTRL in Z1 OTP
- Dummy Read to
address location of Z2OTP_PSWDLOCK in Z2 OTP of Bank0
- Dummy Read to
address location of Z2OTP_CRCLOCK in Z2 OTP of Bank0
- Dummy Read to
address location 0x78218 in Z2 OTP of Bank0
- Dummy Read to
address location of Z2OTP_GPREG1, Z2OTP_GPREG2, Z2OTP_GPREG3
in Z2 OTP of Bank0
- Dummy Read to
address location of Z2OTP_BOOTCTRL in Z2 OTP of Bank0
- Read to memory
map register of B0_Z1_LINKPOINTER in DCSM module to
calculate the address of zone select block for Z1
- Dummy read to
address location of Z1OTP_EXEONLYRAM in Z1 OTP of Bank0
- Dummy read to
address location of B0_Z1OTP_EXEONLYSECT in Z1 OTP of
Bank0
- Dummy read to
address location of Z1OTP_GRABRAM in Z1 OTP of Bank0
- Dummy read to
address location of B0_Z1OTP_GRABSECT in Z1 OTP of
Bank0
- Read to memory
map register of B0_Z2_LINKPOINTER in DCSM module to
calculate the address of zone select block for Z2
- Dummy read to
address location of Z2OTP_EXEONLYRAM in Z2 OTP of Bank0
- Dummy read to
address location of B0_Z2OTP_EXEONLYSECT in Z2 OTP of
Bank0
- Dummy read to
address location of Z2OTP_GRABRAM in Z2 OTP of Bank0
- Dummy read to
address location of B0_Z2OTP_GRABSECT in Z2 OTP of
Bank0
CAUTION:
Security
Initialization is done by BOOTROM code on all the resets (as
part of device initialization). This is not part of the user
application code.
The order of
initialization matters if a memory watch window with the
USER OTP address is opened in the debugger (CCS IDE), the
security initialization can occur in an incorrect order
locking the device down. To avoid this, do not keep a memory
window with the USER OTP address opened in the debugger
(CCS IDE) when performing a reset.