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.

关于RAM ECC logic诊断

Other Parts Discussed in Thread: HALCOGEN

hi,TI的专家,

    RM48芯片内部RAM具有ECC功能,可以纠正数据错误。但是是TUV要求对ECC纠错逻辑也需要诊断,原因是ECC logic可能将正确的数据纠错或者纠错不正确。 在halcogen产生的带码void checkB0RAMECC(void)函数:

/* enable writes to ECC RAM, enable ECC error response */
tcram1REG->RAMCTRL = 0x0005010AU;
tcram2REG->RAMCTRL = 0x0005010AU;

/* the first 1-bit error will cause an error response */
tcram1REG->RAMTHRESHOLD = 0x1U;
tcram2REG->RAMTHRESHOLD = 0x1U;

/* allow SERR to be reported to ESM */
tcram1REG->RAMINTCTRL = 0x1U;
tcram2REG->RAMINTCTRL = 0x1U;

/* cause a 1-bit ECC error */
_coreDisableRamEcc_();
tcramA1bitError ^= 0x1U;//使ECC值产生1bit 错误,
_coreEnableRamEcc_();

/* disable writes to ECC RAM */
tcram1REG->RAMCTRL = 0x0005000AU;
tcram2REG->RAMCTRL = 0x0005000AU;

/* read from location with 1-bit ECC error ,这时候ECC值和数据的值不能对应去读数据时会纠正数据错误吗??*/
ramread = tcramA1bit;//  读数据时显示有1bit 错误,但是没有看到ramread这个数据有变化????

理想的RAM ECC logic 诊断是这样的: 在64 bit数据中插入1 bit错误(而不是使ECC产生 1bit),对应ECC的值不做改变,读数据时根据ECC就能纠正插入的1bit数据错误,这样去诊断能实现吗?