Other Parts Discussed in Thread: HALCOGEN
使用STC和PBIST进行CPU和RAM自测,HCG选项如图所示。
1、请问各个选项的意思是什么,查阅资料说CPU自检是通过LBIST但是HCG里没有相应选项。
2、如何注入自检故障,包括CPU故障以及RAM故障。
3、手册上说没法在debug模式下运行自检,那么如何查看自检失败的故障信息?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
使用STC和PBIST进行CPU和RAM自测,HCG选项如图所示。
1、请问各个选项的意思是什么,查阅资料说CPU自检是通过LBIST但是HCG里没有相应选项。
2、如何注入自检故障,包括CPU故障以及RAM故障。
3、手册上说没法在debug模式下运行自检,那么如何查看自检失败的故障信息?
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
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);
2、如何注入自检故障,包括CPU故障以及RAM故障。
请您查看以下函数:
ccmSelfCheck();
and
checkB0RAMECC();
checkB1RAMECC();
无法在调试模式下运行 CCM 自检。 您可以在调试模式下执行其他自检 (如STC 、 CPU 、 PBIST 等)。
是的, MKEY=0x9是用来注入故障或错误强制。错误强制模式与自检模式的比较不匹配测试操作类似。
有没有可以在不修改代码的前提下,通过芯片外部对芯片进行某种操作来进行CPU和RAM的自检故障注入呢?
非常抱歉目前没有。