请教:
在我们的应用中使用到了中断嵌套,方法是使用汇编代码(intrNest_En和intrNest_Dis)。现在有一些问题希望指点:
1、实现原理是不是就是在进入中断时打开中断全局屏蔽,退出时关闭?除了这些需要有别的操作吗?
2、中断之间的切换要多少时间呢?能否在1us之内完成?
3、是否保证了一个中断服务只能被更高优先级的中断打断?
4、是否有一些代码在执行过程中不可能被打断?这些代码主要有哪些呢?
5、通常来说,在C6678中使用中断嵌套是不是不提倡的?会对流程有哪些不良影响?
谢谢!
Brighton Feng:
1. 不知道你调的函数的具体实现。一般就是在进入中断时操作GIE和IER。
2. 硬件中断响应时间一般是几百个周期,应该在1us之内。
3. 可以通过IER控制实现。
4. 跳转指令的保护周期不会被打断,硬件保证的。有些情况如果被打断的话可能会出问题,编译器会帮你关中断。请参阅C6000编程指南。
5. 如果你理解并正确处理了这些限制,那就没问题。
YUCHAO WANG:
回复 Brighton Feng:
你好:
您说第3个“可以通过IER控制实现”,您的意思是系统不会自动保证高优先级中断不被低优先级中断打断?
TI中文支持网