Part Number:TMS570LS3137-EPOther Parts Discussed in Thread:UNIFLASH, TMS570LS3137
你好,我正在做TMS570ls3137的flash ecc实验,我已经用uniflash的auto ecc将代码的ecc码下载入了ecc空间。并且在程序的启动代码中 加入了
/* Enable CPU Event Export */
/* This allows the CPU to signal any single-bit or double-bit errors detected
* by its ECC logic for accesses to program flash or data RAM.
*/
_coreEnableEventBusExport_();
/* Enable response to ECC errors indicated by CPU for accesses to flash */
flashWREG->FEDACCTRL1 = 0x000A060AU;
/* USER CODE BEGIN (10) */
/* USER CODE END */
/* Enable CPU ECC checking for ATCM (flash accesses) */
_coreEnableFlashEcc_();
/* USER CODE BEGIN (11) */
/* USER CODE END */
checkFlashECC();
flashWREG->FDIAGCTRL = 0x000A0007U; /* disable flash diagnostic mode */
这样就可以开启flash的ecc校验了吗? 我如何去检验flash ecc校验是否生效?
shilw:
checkFlashECC(); 这个函数是用来检验falsh ecc是否能正常工作的吧 , 他会生成单比特和双比特错误 , 单比特错误会被矫正, 双比特错误不是会出现一个数据异常吗?
为啥执行这个函数,我的程序还能正常运行。 程序应该会被数据异常终止?