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.

TMS570 CPU开机自检 运行过程中自检

Other Parts Discussed in Thread: TMS570LS1224

各位大神:

最近在做TMS570LS1224这款芯片的自检试验,开机自检基本没有问题了,故障注入也部分起作用了。但是SPNU550B安全手册上7.8节等章节中,均有说明,在CPU自检完成后会重启系统,请问如果做在线的CPU自检,需要考虑什么问题?应该如何操作。虽然CPU自检后重启,保存了各个寄存器,但是CPU重启,会造成主程序重启,我在主程序中做的一些变量的值将被重新初始化,这明显是有问题的?有知道如何做CPU在线自检的请不吝赐教,谢谢!

期待大家的回复。

  • self-test的过程是:(1)先保存相关寄存器;(2)然后进入IDLE状态进行自检,自检完成会复位;(3)还原CPU相关寄存器;

    关于CPU自检:

    The LBIST tests must be triggered by software. User may elect to run all tests, or only a subset of the

    tests based on the execution time, which can be allocated to the LBIST diagnostic. This time sliced test

    feature enables the LBIST to be used effectively as a runtime diagnostic with execution of test time slices

    per safety critical loop as well as a comprehensive test for CPU fault during MCU initialization.

    用户可以选择使用哪种方式自检,在自检前您也可以禁用相关的中断

  • Susan Yang:

    首先,非常感谢您的解答,其实您的这个回答我在另外一篇提问上已经看到了。   我这里主要想问的是:CPU复位后,虽然相关寄存器都保存了,但是,用户自己的变量值和缓冲区内容是不是已经全部重新初始化了?  用户数据是否应该自己做保护?如果是,那么CPU重启了,用户的初始化程序又从main()函数重新执行了,如何才能保护用户使用的RAM呢?困扰了好久了,还没有想明白呢?

  • 是的,那些RAM里的数据肯定是要初始化的,重要数据保存RAM是不现实的,特别是复位重启后。想要保存数据复位不丢,最好的方法还是保存到Flash。