SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
The security module restricts the CPU access to on-chip secure memory and resources without interrupting or stalling CPU execution. When a read occurs to a secure memory location, the read returns a zero value and CPU execution continues with the next instruction. This, in effect, blocks read and write access to secure memories through the JTAG port.
The code security mechanism offers protection for two zones, Zone1 (Z1) and Zone2 (Z2). The security mechanism for both the zones is identical. Each zone has a dedicated secure resource and allocated secure resource. The following are different secure resources available on this device:
Table 5-1 shows the status of a RAM block/Flash sector based on the configuration in the GRABRAM/GRABSECT register.
The security of each zone is enabled by a 128-bit (four 32-bit words) password (CSM password). The password for each zone is stored in USER OTP. A zone can be unsecured by executing the password match flow (PMF), described in Section 5.7.4.
There are three types of accesses:
Zone 1 GRABRAMx/GRABSECTx Bits |
Zone 2 GRABRAMx/GRABSECT Bits |
Ownership and Accessibility |
---|---|---|
01 | 10 | RAM block/Flash Sector belongs to Zone1 |
01 | 11(2) | RAM block/Flash Sector belongs to Zone1 |
10 | 01 | RAM block/Flash Sector belongs to Zone2 |
11(1) | 01 | RAM block/Flash Sector belongs to Zone2 |
10 | 10 | RAM block/Flash Sector is unsecure |
11 | 11 | RAM block/Flash Sector inaccessible if either of the zones is secure (CSM passwords are programmed). User must never leave these values default (11), if CSM passwords are programmed for even one zone. |
PMF Executed With Correct Password? | Operating Mode of the Zone | Program Fetch Location | Security Description |
---|---|---|---|
No | Secure | Outside secure memory | Only instruction fetches by the CPU are allowed to secure memory. In other words, code can still be executed, but not read. |
No | Secure | Inside secure memory | CPU has full access (except for EXEONLY memories where read is not allowed). JTAG port cannot read the secured memory contents. |
Yes | Unsecure | Anywhere | Full access for CPU and JTAG port to secure memory of that zone. |