目的:TMS320C6747在执行周期性的GPIO中断的时候返回主程序异常。目前主函数就只是一个死循环和计数的过程。中断程序里就只包括利用EMIFA读数的程序(最终的目的是想实现通过周期为5ms中断信号利用中断程序从FPGA里读数据并在主程序中进行后续的同步数据处理和处理完之后利用EMIFA发送出去(发送给FPGA))。
主程序和中断程序分别如下图图1和图2所示。
问题:当程序触发多次中断的时候,有时候当中断服务程序最后一句话执行完以后,没有按照正常的程序执行顺序返回到主程序中运行,而是直接跳过了本应该继续执行的主程序。 而且存在一个现象。无论我中断信号的周期设置为多少1ms 还是5ms 还是1s 还是10s。当程序执行一段时间以后,最后主程序执行的次数/中断服务程序执行的次数=71.2%。也就是说出现中断返回异常的比例与中断信号的周期是无关的。请问为什么会出现这种问题啊? 求大神指教 谢谢谢谢谢谢谢!!!
Shine:
和下面这个帖子同一个问题吗?
e2echina.ti.com/…/194311现在EMIF读写放在中断里也不行了?
把堆栈加大试试。
user6463721:
回复 Shine:
您好 是同一个问题。现在EMIFA读写放在中断里对于读写来说是可以的 。但是后续数据读完后需要进行处理,计算后再发出去。总是要有程序得放在主函数里面。所以就还是得把这个问题解决一下。
Shine:
回复 user6463721:
有试过把堆栈加大吗?EMIF读写时序和GPIO中断时序有对比过吗?