Code Security Module (CSM)
149
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
System Control and Interrupts
Table 1-32. C28x - Reserved Locations in Flash Memory (continued)
Memory Address
Register Name
Reset Values
Register Description
0x13-FFF6
ECSLPSWD1
User Defined
High word (32-bit) of the 64-bit
CSM password
0x13-FFF2
EXEONLY
User Defined
Exe-Only settings for flash
sectors
1.10.3.1 Environments That Require Security Unlocking
The following are the typical situations under which unsecuring memories can be required:
•
Code development using debuggers (such as Code Composer Studio™). This is the most common
environment during the design phase of a product.
•
Flash programming using TI's flash utilities such as UniFlash or Code Composer Studio™ F28xx On-
Chip Flash Programmer plug-in.
Flash programming is common during code development and testing. Once the user supplies the
necessary password, the flash utilities disable the security logic before attempting to program the flash.
The flash utilities can disable the code security logic in new devices without any authorization, since new
devices come with an erased flash. However, reprogramming devices (that already contain a custom
password) require the password to be supplied to the flash utilities in order to unlock the device to enable
programming. In custom programming solutions that use the flash API supplied by TI, unlocking the CSM
can be avoided by executing the flash programming algorithms from secure memory.
•
Custom environments defined by the application, in addition to the above, access to secure memory
contents can be required in situations such as:
–
Using the on-chip bootloader to load code or data into secure SARAM or to erase/program the
flash.
–
Executing code from on-chip unsecure memory and requiring access to secure memory for lookup
table. This is not a suggested operating condition as supplying the password from external code
could compromise code security.
The unsecuring sequence is identical in all the above situations. This sequence is referred to as the
password match flow (PMF) for simplicity.
explains the sequence of operation that is required
each time the user attempts to unsecure a particular zone. A code example is listed for clarity.
NOTE:
If you want to erase/program secure flash sectors without unlocking the zone, the
erase/program code must run from secure RAM linked to same zone as of secure flash
sectors. In case of master subsystem (which has dual-zone), you also need to program the
SEM bit in SECZONEREQUEST register. Please refer to SECZONEREQUEST register
section for details about the SEM bit.
1.10.3.2 CSM Password Match Flow
Password match flow (PMF) is essentially a sequence of eight 16-bit (or four 32-bit) dummy reads from
password locations (PWL) followed by eight 16-bit (or four 32-bit) writes to CSMKEY registers.
shows how PMF helps to initialize the security logic registers and disable security logic.