Hi everyone,
I'm really sorry for this stupid questions, and my post above.
But I could not found enough information about the OTP.
Maby someone knows where I could find an datasheet for it?
I only find information in the datasheet of the XEF232 device, OTP reading library, xburn command-line and Design Advisory: xCORE-200 eXplorer Kit MAC address programming.
I really want to understand it.
1) Means OTP, one time programable for
one memory cell/row like 0x000007fe, or the
whole OTP
range of an tile?
I have analyzed the OTP content before burn the Serial Number, and after that.
zz is always the same number.
First I burn the MAC ADR with:
xburn --target XEF232-1024-FB374-C40 --mac-address 00:10:zz:40:00:01
0x000007fd: 0xzz400001
0x000007fe: 0x00000010
0x000007ff: 0x4847ffff
SR : 0x00000000
So it looks like row 7fd contains the mac_adr[2] .. mac_adr[5].
And row 7fe contains mac_adr[0] .. mac_adr[1].
Row 7ff, the header: (header >> 22) &0x7 = one mac address saved. All fine.
On next Step I use:
xburn --target XEF232-1024-FB374-C40 --serial-number 106954753
106954753 is 0x6600001
Now the content of the OTP is:
0x000007fd: 0xzz400001
0x000007fe: 0x06600011
0x000007ff: 0x4007ffff
SR : 0x00000080
So row 7fd look the same like above.
Row 7fe contains the Serial Number + parts of the mac ADR.
--serial-number | Writes a 32-bit serial number to the end of the OTP
The Row 7fe makes sense with this description.
Mac_adr[0 .. 1] and the LSBs Serial Number looks combined. Overwritten?
2) Could it be, that the order of the xburn commands is neccesary?
On the other hand. Is it the better way to generate an
xe-file with
--make-exec
and then burn the whole OTP memory at once?
3) SR: 0x00000080 means that the
Enables redundant rows in OTP is active.
What is the meaning about this bit?
I'm really sorry for my bad english and stupid queastions. But currently I want to use the OTP for Serial Number, MAC adr and crypto++.
I think I have "crashed" the OTP of that board. And after this failure, I really want to understand what I have done wrong.
So If someone could give me some advice, it would be absolutely nice.
Best Regards,
Sebastian