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.

SafeTI诊断库不能正常运行

Other Parts Discussed in Thread: TMS570LS3137

您好,我把SafeTI诊断库的程序下载到TMS570LS3137的开发套件上后,程序死在了一个地方,如下图蓝色高亮部分,请问是什么原因造成的?

  • Hi wei,

      出现这个情况也是有可能的,因为整个例程里面就是各种安全测试,它模拟了各种的错误注入,然后检测是的方式来测试芯片的安全功能。有些类似于LBIST之类的安全功能,是要通过reset后,芯片才能正常运行的。

    你可以单步调试一下你的程序,看看它是经过了什么样的测试函数,然后跳到这里的。

    我刚用我的板子少写了一下程序,运行的过程中,暂时还没有看到跳到这一步的。

    谢谢

    ken

  • 我把程序下载后就直接运行了,请问这是怎么回事?是软件配置问题吗,在哪里能够配置?

  • 您好,如果您的代码能正常运行的话,能不能帮我看下app_main_NoOS.c里的__asm(" b #-8 ");语句,编译后的汇编语言是什么?谢谢

  • 您好,不好意思,又打扰您了!这个问题我已经解决了,现在还有一个问题。当程序执行到__asm(" b #-8 ");时,会进入死循环,这条语句下面都是对文件的操作,我想这是不是将来可以加入自己的操作呢?还有为什么这个地方要这么编写,为什么不把__asm(" b #-8 ");换成while(1);呢,__asm(" b #-8 ");和while(1);的功能都是一样的死循环啊。

  • Hi Wei,

       我觉得_asm("b #-8)和while(1)功能还不是一样的吧,前者是一个汇编的跳转指令,在我们的调试过程中,特别是调试系统初始化的过程中,会用这条语句来定位程序,方便断点测试。它一般会定位到 data abort或是其他的中断里面。 while(1)的话,只是单纯的循环。

    在我们的safety library里面,用b #-8,也是相当于给客户提供一个点,方便客户对出现的safety检测出问题的情况下,把程序定位到某个地方。方便测试。也就像你说的,是为了用户增加自己的操作。

     整个safety library里面的测试条目很多,你可以更具自己的需要,有选择的选择。

    谢谢

    ken