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

各位大神:

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

期待大家的回复。

3 个回复

  • 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.

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

    If a post answers your question, please mark it with the "verify answer" button.

    若是回复解决了您的问题,请点击“是”确认答案。谢谢!

  • 回复 Susan Yang:

    Susan Yang:

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

  • 回复 user5886979:

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

    好好学习,天天向上。