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.
Hello,
This is a question regarding ESM 1.6 and 2.19 that notify single/double bit ECC errors for OTP.(ESM1.6:Group1 Channel6, ESM2.19:Group2 channel19)
We are now testing the ESM function of TMS570 MCU on the evaluation board.
Based on explanation in Sec 7.5.2.6 of SPNU563A, we tried to force ESM 1.6 and 2.19 by using the following test codes.
But the test result was not as expected. The MCU notified ESM 1.4 and 2.3 respectively.
* single bit ECC error */
uint64 otpEccError1bitVal;
otpEccError1bitVal = *(uint64 *)0xF00803F0;
TODO: 3f0 1bit error
/* double bit ECC error */
uint64 otpEccError2bitVal;
otpEccError2bitVal = *(uint64 *)0xF00803F8;
TODO: 3f8 2bit error
Should we modify the test codes? Please advise.
Thanks,
Sho.
Hi Shao,
The Implicit read doesn't generate ECC error. The implicit read is to read the content at 0xF0080140.
The content of 0xF0080140 is 0xFFFFFFFF_FFFFFFFF, the ECC value at 0xF00C0028 is 0x43. 0x43 is the correct ECC value, so reading doesn't cause ECC error.
7.5.2.6 Deliberate ECC Errors for FMC ECC Checking
Reading content of 0xF0003F0 doesn't generate ECC error. The content at 0xF00803F0 is 0x12345678_9ABCDEF0, and it's ECC value is 0xDA which is located at 0xF00C007E. 0xDA is the correct ECC value.
Reading content of 0xF0003F8 will generate 2-bit ECC error. The content at 0xF00803F8 is 0x12345678_9ABCDEF3, and it's ECC value is 0x44 which is located at 0xF00C007E. 0x44 is a wrong ECC value. The correct ECC value is 0x42. ESM2.3 will be set.
Hello QJ-san,
Thank you for your support especially.
Could you please tell me about technique of generating ESM1.6 and ESM2.19.
Thanks,
Sho
Hi Sho,
There is no way to inject a error to set ESM 1.6 or ESM 2.19.
ESM 1.6 will be set if 1-bit ECC error occurs when performing the implicit read during start-up. Implicit read means the flash wrapper reads the TI OTP section of flash bank 0 (0xF0080140) during start-up.
ESM2.19 will be set if uncorrectable-ECC error occurs when performing the implicit read.
Hello QJ-san,
Thank you for your support especially.
I understood below,
At first, Implicit read is hardware reading, although software read is not included Implicit read.
Next, ESM1.4 or 2.3 occur if TI OTP regions is read by software.
So, There is no way to inject a error to set ESM 1.6 or ESM 2.19, because of these are occurred by hardware read.
Is my understanding correct?
Thanks,
Sho