Thread 中讨论的其他器件:C2000WARE
工具与软件:
尊敬的支持团队:
我尝试在项目中添加 ECC RAM 测试。
我从下面的例子开始:
C20004.12.1SDK_5_02_00_00\c2000ware\libraries\diagnostic\f280013x\examples\sdl_ex_flash_ecc_test Ware_Motor
但我面临一些问题/有一些问题。
在函数 runCorrectableECCTest 中:
// // Put the M0RAM into test mode so we can write to the data without // updating the ECC, flip a bit, and put the RAM back into the normal // functional mode. // testRAMLogic(MEMCFG_SECT_M0, MEMCFG_TEST_WRITE_DATA, (uint32_t)&m0Data, (RAM_DATA_SINGLE_BIT << index));
此函数的工作方式为错误 ISR (可纠正错误)、但:
// // Put the M0RAM into test mode so we can write to the ECC bits // directly, flip multiple bits, and put the RAM back into the // normal functional mode. // testRAMLogic(MEMCFG_SECT_M0, MEMCFG_TEST_WRITE_ECC, (uint32_t)&m0Data, (RAM_ECC_SINGLE_BIT << index));
这个没有触发错误 ISR、但 NMIISR、因此我有点困惑。
注释为"翻转多个位"、因此如果正确、则不可纠正、并且正常触发 NMI、但对我而言、代码仅翻转 single-bit。
请告诉我错误在哪里? 在这个例子中?
此致。