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当成普通MCU使用,避免进入不必要的异常中断,影响调试

Other Parts Discussed in Thread: HALCOGEN

我们刚开始使用TMS570,在刚开始阶段,想先把软件功能全部实现了,暂时不想关注它的安全保护功能。

我们使用的是TMS570的BLDC调试套件,做无刷电机控制的。

软件在很简单的情况下,比如用HALCoGen新建生成代码后,只配置了一个SPI通讯的功能,没有其他功能。在调试时,570总是会不知原因的跳到sys_intvecs.asm文件如下代码

;-------------------------------------------------------------------------------
; interrupt vectors

resetEntry
    b _c_int00
undefEntry
    b undefEntry
svcEntry
    b svcEntry
prefetchEntry
    b prefetchEntry
    b _dabort
    b phantomInterrupt
    ldr pc,[pc,#-0x1b0]
    ldr pc,[pc,#-0x1b0]

中的b _dabort里去,影响调试。

我们把HALCoGen里SAFETY INIT里的选项全部关闭了,还是会这样。

想请问下是什么原因造成的,如何处理。

  • 你好。

    看起来程序非法访问了数据,引起了Data Abort的异常,这个和Safety Init(安全初始化)无关。

    麻烦你把出现Data Abort时,CP15寄存器组的截图贴一下。

  • 谢谢您的回复。

    这个现象重复机率不高,我遇到了再补上。

    另,在我们完整的项目工程中,以前将开中断_c_int00(sys_startup.c)最后做的,现在修改到main函数中,这个问题出现的机率也降低了很多。