SPRUJF8 May 2026 TMS320F28P551SG
In addition to the CSM security protection, the Emulation Code Security Logic (ECSL) has been implemented using a 64-bit password (the lower 64-bits of the ZxOTP_CSMPSWDx, that is, ZxOTP_CSMPSWD0/1) for each zone to prevent unauthorized users from stepping through secure code. Any halt in secure code while the emulator is connected immediately trips the ECSL and disconnects the debug connection.
To allow emulation of secure code, while maintaining the CSM protection against secure memory reads, users must write the correct 64-bit password into the Zx_CSMKEY0 and Zx_CSMKEY1 registers that matches the ZxOTP_CSMPSWD0 and ZxOTP_CSMPSWD1 password values stored in the USER OTP of that zone. This disables the ECSL for the specific security zone.
When initially debugging a device with the password locations in OTP programmed (i.e. zone is secured), the emulator takes some time to take control of the CPU. During this time, the CPU starts running and can execute an instruction that performs an access to a protected ECSL area and if the CPU is halted when the program counter (PC) is pointing to a secure location, the ECSL trips and causes the emulator connection to be broken.
The solution to this disconnection issue is to configure the device for WAIT boot mode. In this mode, the CPU is looping in the Boot ROM (inherently non-secure memory) and does not jump to the user application code. With WAIT boot mode, users can connect to CCS and debug the code before the PC enters secure memory regions.