This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28379D: CSM: is it possible to read password locations from secured memory without PMF?

Part Number: TMS320F28379D

Hello everyone.

We are developing some SW that must be secured with CSM. But for some tasks we want to read the password by means of CPU.

The password is stored in OTP. And Technical Reference Manual has two controversal statements:

2.13.1 Functional description
...

OTP: Each zone has its own dedicated secure OTP (USER OTP). This contains the security
configurations for the individual zone. If a zone is secure, its USER OTP content (including CSM
passwords) can be read (execution not allowed) only if the zone is unlocked using the password match
flow (PMF).
...

And another one:


2.13.1.4 Password lock

The password locations for each zone can be locked by programming the zone’s PSWDLOCK field with
any value other than “1111” (0xF) at the PSWDLOCK location in OTP. Until the passwords of a zone are
locked, password locations will not be secure and can be read from the debugger as well as code running
from non-secure memory.

As I understood CSM principles, secured memory can be accessed from secured memory. But what about OTP? The phrase from "Password lock" chapter says, that password locations can be read by code running from unsecure memory.

So the question is: if passwords are programmed in OTP AND the passwords are locked with PSWDLOCK register - can the password locations be read by code running from secured memory without PMF?

Thank you

  • Hi,

     So the question is: if passwords are programmed in OTP AND the passwords are locked with PSWDLOCK register - can the password locations be read by code running from secured memory without PMF?

    As stated in Ist section, password can not be read from any where unless Zone is unlock. PSWDLOCK feature is only for initial development/debug. It should never be left un-programmed in final development phase (or product). 

    Regards,

    Vivek Singh