Other Parts Discussed in Thread:HALCOGEN, RM42L432
TI大神好,我在使用诊断库函数SL_SelfTest_Flash时出现下面问题。 retVal = SL_SelfTest_Flash(FLASH_ECC_TEST_MODE_1BIT, TRUE, &flash_stResult_1bt);这个运行的flash_stResult_1bt是ST_PASS.但是retVal = SL_SelfTest_Flash(FLASH_ECC_TEST_MODE_2BIT, TRUE, &flash_stResult_2bt);的flash_stResult_2bt为ST_FAIL;。请问是什么原因?
另外我在HALcogen使能了FLASH_ECC_TEST_MODE_1BIT模式下的中断触发和nerror引脚。但是运行的时候并没有触发中断和拉低引脚。操作如下:
Susan Yang:
请问您使用的是哪款芯片呢?
,
user5245154:
RM42L432
,
Susan Yang:
发生2bit ECC错误时,CPU将产生数据中止。中止处理程序(abort.asm)清除闪存状态和ESM group3状态寄存器。当代码返回sl_selftest_flash()并检查Flash和ESM状态寄存器时,未找到错误标志,因此测试失败。
对于FLASH_ECC_TEST_MODE_1BIT,当发生错误时,应设置ESM状态寄存器中的ESM通道6。测试中是否启用了IRQ或FIQ?默认情况下已禁用。
,
user5245154:
非常感谢。那么2bit这个问题要怎么处理呢?
1bit这个我在HALCogen中使能了中断和NERROR.。并且我执行下面的函数是可以触发中断和拉低NERROR引脚的
,
user5245154:
请问这种情况可以怎么处理呢?
,
Susan Yang:
很抱歉回复晚了
发生2bit ECC错误时,CPU将产生数据中止。中止处理程序(abort.asm)清除FEDACSTATUS error flag 和ESM group 3 flag
您可以通过flash un-correctable error address register (FUNC_ERR_ADD)来找出error address