尊敬的 Hercules 团队:
我的客户对我们 TI 安全库中的 VIM_SRAM_parity 测试有一些问题。
源文件:
sl_selftest.c 版本2.3.1
功能:布尔 SL_SelfTest_VIM (SL_SelfTestType testType)
参数:testType = VIM_SRAM_pariation_test
(代码行5282)
/*检查 ESM 组1通道15是否未标记*/
/*SAFETYMCUSW 134 S MR:12.2 备注_5*/
如果(((sl_vimParREG->PARFLG & VIM_PAR_ERR_FLG)== 0U)||
(((sl_esmREG->SR1[0U]和 get_ESM_bit_NUM (ESM_G1ERR_VIM_奇 偶校验_CORRERR))== 0U))
{
/* VIM RAM 奇偶校验错误未被标记为 ESM。 *
SetCriticalErrorDiag2C (VIM_parag_REG、0U、SL_vimParREG->PARFLG、SL_esmREG->SR1[0U]); <=由客户添加以进行诊断。 应用程序在这里卡住、直到器件复位。
RetVal = false;
}
如果出现错误、它们会卡在上述行中、并具有以下参数:
sl_vimParREG->PARFLG:0x00000000
sl_esmREG->SR1[0U]: 0x00000000
如果它们注释掉此行、函数将保留 RetVal = false。
在测试系统中、该问题偶尔出现(每1…7天)、在测试系统中、他们全天候运行自动测试周期。 使用中的不同衍生产品(RM48、RM46、RM42)上似乎出现了此问题。 在基于 RM46的测试系统上、它似乎更频繁地出现。
它们还尝试在 SL_SelfTest_VIM (VIM_SRAM_parity)函数被执行时禁用中断、而没有明显的改进。
他们希望消除这样一个事实、即在调用此函数时会犯一些错误。
是否有任何特定的注意事项(时序、依赖于其他测试、中断…) 调用此函数时?
作为可能的权变措施,客户考虑放弃此测试(SL_SelfTest_VIM (VIM_SRAM_parity-test);),并在循环寄存器测试“静态配置寄存器的 VIM6定期软件回读”中检查中断矢量表。 使用这种方法、它们将直接测试所有中断地址。
这是否是 sl_SelfTest_VIM (VIM_SRAM_parity _ test)的适当替代产品?
请告诉我们如何处理此问题。
BR、
Matthias