TI论坛
直播中

刘娟

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

请问为什么我在C6455板子上跑EDMA完成中断会进入两次中断程序?

在执行中断的函数里加了打印语句printf("I'm datain_isr");,进行软件仿真时只打印一次,用板子跑的时候却打印了两次,后在中断函数打断点发现中断函数执行了两次。请问为什么会出现这样的问题?

回帖(6)

李波

2020-5-22 08:58:46
用了BIOS吗?把中断函数贴出来。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

刘娟

2020-5-22 09:12:51
引用: lifei639156 发表于 2020-5-22 09:16
用了BIOS吗?把中断函数贴出来。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.

刚接触这个还不太懂,板子上有两片6455芯片,我只往其中一个下了程序去跑,应该不会是两个芯片有影响吧。
举报

李波

2020-5-22 09:32:00
引用: lin364884292 发表于 2020-5-22 09:30
刚接触这个还不太懂,板子上有两片6455芯片,我只往其中一个下了程序去跑,应该不会是两个芯片有影响吧。

中断函数的定义要加关键字interrupt.
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

刘娟

2020-5-22 09:50:20
引用: lifei639156 发表于 2020-5-22 09:49
中断函数的定义要加关键字interrupt.
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.

谢谢您的解答,最后解决了,查了edma的配置寄存器,因为芯片里有固化的程序,我又在线烧了另外一个程序,所以中断了两次,如果新的程序初始化固化程序未初始化的通道,则只中断一次。
另外,我还想问一下,有没有方法,使我在线加载新程序的时候,将固化程序配置的寄存器全部复位。
举报

更多回帖

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