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.

TMS570LS1227: CPU和RAM自检,如何进行故障注入,以及如何查看自检结果

Part Number: TMS570LS1227
Other Parts Discussed in Thread: HALCOGEN

使用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();

    3、手册上说没法在debug模式下运行自检,那么如何查看自检失败的故障信息?

    无法在调试模式下运行 CCM 自检。 您可以在调试模式下执行其他自检 (如STC 、 CPU 、 PBIST 等)。

  • 您好,根据您注入故障的描述,自检故障注入是否只能通过修改ccmSelfCheck等函数里的  CCMKEYR = 0x9U;这类指令来进行故障注入呢?

    有没有可以在不修改代码的前提下,通过芯片外部对芯片进行某种操作来进行CPU和RAM的自检故障注入呢? 谢谢!

  • 好的已把您的问题跟进给工程师,预计将于下周给您答复。

  • 是的, MKEY=0x9是用来注入故障或错误强制。错误强制模式与自检模式的比较不匹配测试操作类似。

    有没有可以在不修改代码的前提下,通过芯片外部对芯片进行某种操作来进行CPU和RAM的自检故障注入呢?

    非常抱歉目前没有。