Part Number:TMS570LS1227Other Parts Discussed in Thread:HALCOGEN
使用STC和PBIST进行CPU和RAM自测,HCG选项如图所示。
1、请问各个选项的意思是什么,查阅资料说CPU自检是通过LBIST但是HCG里没有相应选项。
2、如何注入自检故障,包括CPU故障以及RAM故障。
3、手册上说没法在debug模式下运行自检,那么如何查看自检失败的故障信息?
Cherry Zhou:
您好我们已收到您的问题,正在查看中,如有进展将尽快答复您。谢谢!
,
Cherry Zhou:
HALCoGen 是在 SafeTI 诊断库之前开发的,所以两者之间几乎没有重叠的安全诊断功能。 出于一些原因,我们支持的仍然是 HALCoGen 诊断 (sys_selftest.c)。 我们强烈推荐您将 SafeTI 诊断库 (SDL) 用于安全功能。
请您参阅SDL的用户指南:C:\ti\Hercules\SafeTI Diagnostic Library\2.4.0\docs\SafeTIDiagnosticLibrary-User'sGuide-v2.4.0.htm
Hao Liang 说:1、请问各个选项的意思是什么,查阅资料说CPU自检是通过LBIST但是HCG里没有相应选项。
生成的所有函数都位于 sys_selftest.c 中。
第一个面板用于生成自检代码:
Enable CCM Self test: ccmSelfCheck();
Enable CPU self test: stcSelfCheck(); cpuSelfTest(…)
EFuse self test: efcCheck(); efcSelfTest();
Enable PBIST Self Test: pbistSelfCheck();
Enable FMCBUS2 Error check: fmcBus2Check();
Enable Flash ECC check: checkFlashECC();
Enable SRAM ECC check: checkB0RAMECC(); checkB1RAMECC();
第二个面板用于 PBIST :
pbistrun()
第 3 个面板用于奇偶校验检查:
void vimParityCheck(void);void dmaParityCheck(void);void adc1ParityCheck(void);void adc2ParityCheck(void);void het1ParityCheck(void);void htu1ParityCheck(void);void het2ParityCheck(void);void htu2ParityCheck(void);void can1ParityCheck(void);void can2ParityCheck(void);void can3ParityCheck(void);void mibspi1ParityCheck(void);void mibspi3ParityCheck(void);void mibspi5ParityCheck(void);
void enableParity(void);void disableParity(void);
,
Cherry Zhou:
Hao Liang 说:2、如何注入自检故障,包括CPU故障以及RAM故障。
请您查看以下函数:
ccmSelfCheck();
and
checkB0RAMECC();
checkB1RAMECC();
Hao Liang 说:3、手册上说没法在debug模式下运行自检,那么如何查看自检失败的故障信息?
无法在调试模式下运行 CCM 自检。 您可以在调试模式下执行其他自检 (如STC 、 CPU 、 PBIST 等)。
,
Hao Liang:
您好,根据您注入故障的描述,自检故障注入是否只能通过修改ccmSelfCheck等函数里的 CCMKEYR = 0x9U;这类指令来进行故障注入呢?
有没有可以在不修改代码的前提下,通过芯片外部对芯片进行某种操作来进行CPU和RAM的自检故障注入呢? 谢谢!
,
Cherry Zhou:
好的已把您的问题跟进给工程师,预计将于下周给您答复。
,
Cherry Zhou:
是的, MKEY=0x9是用来注入故障或错误强制。错误强制模式与自检模式的比较不匹配测试操作类似。
Hao Liang 说:有没有可以在不修改代码的前提下,通过芯片外部对芯片进行某种操作来进行CPU和RAM的自检故障注入呢?
非常抱歉目前没有。