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.

TMS320F28377D: The explanation of ZxOTP_PSWDLOCK in 28377x

Part Number: TMS320F28377D


Dear all,

I read about this post on E2E forum, in this post Vivek mentioned the PASWDLOCK value is Z1OTP_PSWDLOCK[3:0].

http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/491683?tisearch=e2e-quicksearch&keymatch=pswdlock

I am trying to activate the password lock on 280049 to solve a question of my customer.

He wrote 0xFFFFFFEF  in Z1OTP_PSWDLOCK, which, according to the post, will not activate the password lock.

The reason he did so is that it is said in the TRM, the Z1_OTPSECLOCK register password field actually gets loaded from Z1OTP_PSWDLOCK[7:4].

 

My question is, if PASWDLOCK value is Z1OTP_PSWDLOCK[3:0], how can Z1_OTPSECLOCK register password field reflect the state of password lock? Is it a mistake?

If my customer has already written 0xFFFFFFEF  in Z1OTP_PSWDLOCK, can he activate the password lock on the same socket?

Besides, I did  tried to write 0xFB7FFFEF in Z1OTP_PSWDLOCK(just a random number), my 280049 password lock worked. How could this happen?

After this modification, a data verification always occur when I try to load the program, is it because of the ECC?

Thanks! 

  • Update: The engineer write 0xFFFFFFEE in Z1OTP_PSWDLOCK. It turns out all the code became visible.
  • Wang,

    OTPSECLOCK is memory map register and PSWDLOCK is a filed in that which user can read to know the status of PSWDLOCK. This get auto loaded from OTP location ZxOTP_PSWDLOCK which user need to program. So there is no mistake. We have combined the two OTP location values into one memory map register.

    I an not clear on your update -

    Update: The engineer write 0xFFFFFFEE in Z1OTP_PSWDLOCK. It turns out all the code became visible.

    What do you mean all the code became visible ?

    Regards,

    Vivek Singh

  • To make it clear, my customer is using 28337D.
    There are two main points I want to make sure.

    1. Which bits I need to modify in Z1OTP_PSWDLOCK, to enable the password lock(Very Important)? Only Z1OTP_PSWDLOCK[0:3] will work?

    2. In the TRM, it is mentioned Z1_OTPSECLOCK register password field actually gets loaded from Z1OTP_PSWDLOCK[7:4](pls look at the picture I posted). If I need to modify Z1OTP_PSWDLOCK[0:3], while the Z1_OTPSECLOCK loads Z1OTP_PSWDLOCK[7:4], what is the point?

    3. My customer wrote 0XFFFFFFEE, the whole zone became visible. How could this happen?

    Thanks a lot!
  • Dear Vivek:
    I really need your answer on my reply above.
  • Hi,

    1. Which bits I need to modify in Z1OTP_PSWDLOCK, to enable the password lock(Very Important)? Only Z1OTP_PSWDLOCK[0:3] will work?

    Yes, you need to modify Z1OTP_PSWDLOCK[0:3] to enable password lock feature.

    2. In the TRM, it is mentioned Z1_OTPSECLOCK register password field actually gets loaded from Z1OTP_PSWDLOCK[7:4](pls look at the picture I posted). If I need to modify Z1OTP_PSWDLOCK[0:3], while the Z1_OTPSECLOCK loads Z1OTP_PSWDLOCK[7:4], what is the point?

    Sorry, that need to be corrected. It should say "Z1OTP_PSWDLOCK[3:0]" instead.

    We'll correct it in next release. Thank you for your valuable feedback.

    Regards,

    Vivek Singh