TIwilliam hill官网
直播中

李刚

7年用户 270经验值
私信 关注
[问答]

如何在调试阶段将TMS570当成普通MCU使用,避免进入不必要的异常中断,影响调试

我们刚开始使用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里的选项全部关闭了,还是会这样。
想请问下是什么原因造成的,如何处理。

回帖(2)

庄当甜

2018-6-21 08:01:51
你好。
看起来程序非法访问了数据,引起了Data Abort的异常,这个和Safety Init(安全初始化)无关。
麻烦你把出现Data Abort时,CP15寄存器组的截图贴一下。
举报

李刚

2018-6-21 08:20:49
引用: 小Qhhui 发表于 2018-6-21 08:01
你好。
看起来程序非法访问了数据,引起了Data Abort的异常,这个和Safety Init(安全初始化)无关。
麻烦你把出现Data Abort时,CP15寄存器组的截图贴一下。

谢谢您的回复。
这个现象重复机率不高,我遇到了再补上。
另,在我们完整的项目工程中,以前将开中断_c_int00(sys_startup.c)最后做的,现在修改到main函数中,这个问题出现的机率也降低了很多。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分