The following are the typical situations under which unsecuring the zone can be required:
- Code development using debuggers (such as Code
Composer Studio™ IDE). This is the most common environment during the design
phase of a product.
- Flash programming using TI's Flash utilities such
as Code Composer Studio IDE On-Chip Flash
Programmer plug-in or the UniFlash tool. 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. In
custom programming that uses the Flash API
supplied by TI, unlocking the CSM can be avoided
by executing the Flash programming algorithms from
secure memory.
- Custom environment 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 SRAM or to erase and program the Flash.
- Executing code from on-chip unsecure memory and
requiring access to secure memory for the lookup
table. This is not a suggested operating condition
as supplying the password from external code can
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.
Figure 5-3 explains the sequence of operation that is
required every time the user attempts to unsecure
a particular zone. A code example is listed for
clarity.