您好!
这是有关 L2RAMW 的"不可纠正的错误类型 B"和诊断测试程序的问题。
我们现在在评估板上测试 TMS570 MCU 的 ESM 功能。
RAMERRSTATUS 的 DRDE (22)、DRSE (21)、DWDE (20)和 DWSE (19)可以使用以下测试代码验证操作。
易失性 uint64 sramEccTestBuff[2]={0x0u};
易失性 uint64* eccb1;
易失性 uint32* buffPtr;
l2ramwREG->RAMCTRL |=(1U <<20)|/* MSE */
(1U <<12)|/* EEMMS */
(1U <<4);/* CPUWSC */
buffPtr =&sramEccTestBuff[0];
eccb1 =&sramEccTestBuff[0];
eccb1 = eccb1 +(0x00400000U / sizeof (uint64));
l2ramwREG->RAMERRSTATUS = 0x00781C10;
l2ramwREG->DIAGDATAVECTOR_H =*缓冲 Ptr;
buffPtr ++;
l2ramwREG->DIAGDATAVECTOR_L =*缓冲 Ptr;
l2ramwREG->DIAG_ECC =* eccB1 ^ 0x03U;/* ECC 2位错误(0x03)或1位错误(0xCE)*/
l2ramwREG->RAMADDRDECVECT =(1U << 26 | 0xFFFFU);// DESV | RAM_CHIP_SELECT */
l2ramwREG->ramtest =(UINT32) 0x0000004Au;/* 4->InEq.,测试模式,A->测试启用*/
l2ramwREG->ramtest |=(1U <<8);/* 1->触发器*/
我们还想验证 MMDE (12)、WEMDE (11)、REMDE (10)、ADDE (4)。 为了能够生成这些误差源、我们应该如何实施测试代码? 请提供建议。
谢谢、
好的