TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS0914中给临界代码加入中断锁后进入_esmCcmErrorsClear_,然后进入underEntry?

现象 :

我先用HALCoGen配置了RTI Compare0(Period=1000ms)和RTI Compare1(Period=100us),并配置为IRQ。然后生成代码。

然后在生成的定时器0和定时器1中断函数里做如下操作:

关中断和开中断的原型如下(在sys_core.asm中):

发现当定时器1里面的计数器Time1_Cnt=10002的时候,再单步执行,当执行完912行的时候会进入_esmCcmErrorsClear_,如下图所示:

然后再运行就进入undefEntry:

问题:(困扰多日,希望TI一定耐心帮我解决一下这个问题)

Q1:这个谁能帮我解释一下这个现象,是那两句关中断和开中断的语句用错了吗(中断锁),我的本意是想执行保护代码的时候不能被其他中断打断,所以加了关中断这个操作,但是一执行就进入undefEntry,实在找不到原因?

Q2:如果有人觉得我这样的用法是错误的,希望能给出正确的用法(因为项目中一定要使用中断锁这个机制)?

Q3:还有就是进入_esmCcmErrorsClear_代表的意义是什么?哪些原因会导致进入这个函数(有助于分析这个问题)?

Susan Yang:

很抱歉,我现在手边没有TMS570LS0914的板子,准备申请中

若是您比较紧急的话,建议您去英文版E2E发帖,会有BU为您解答

e2e.ti.com/…/312

我明天也会找类似的板子先测试一下

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS0914中给临界代码加入中断锁后进入_esmCcmErrorsClear_,然后进入underEntry?
分享到: 更多 (0)