If I'm writing without locking (using otp programmer) , can i write to the same page several times ?
It is not recommended at all that you write an OTP page multiple times for at least a couple of reasons:
1- All bits that got programmed to a value of '1' can no longer be modified. In other words, when you write to an already programmed OTP page, you will only be able to change the bits with a value of '0' to become of value '1', you won't be able to change the bits with a value of '1' anymore.
2- If you write to OTP with bfrom_OtpWrite(), which by default calculates an ECC of the 64-bit value written, then writing again will lead to another conflicting write of ECC. This will lead to an ECC value that does not correspond to the 64-bit value written in OTP. When you go back to read the page using bfrom_OtpRead(), you will have an incorrect ECC value and the ROM routine will attempt to correct the value that is read.
For more information, about OTP, ECC, bfrom_OtpWrite(), and bfrom_OtpRead() please refer to the One-Time Programmable Memory chapter in the ADSP-BF54x Blackfin Processor Hardware Reference.
Hope this helps.
I'm trying to uderstand why there is a kock option in the otp programmer.
There is a lock option because even though it is not recommended to write to OTP multiple times, it is possible to do so.
If you want a value in the OTP array to not be changed again, then you need to lock it.
So if i wrote wrong value to the public key pages, I can't use the lockbox feature ?
1. is there an option that the SESR will look the public key in other pages then 0x10 - 0x13? or that my only option is to replace the processor ?
The SESR will look for the public key only in the pages 0x10 - 0x13. There is no way to make it look for the key in a different location.
Therefore, if the wrong value is programmed into OTP, then you can no longer use Lockbox. The only option would be to replace the processor.
Retrieving data ...