【C2000中断Debug】如何定位与调试异常中断
一、问题描述
在 CPU 上支持实时任务需要使用中断。如果外部传感器检测到故障,则需要中断或停止 CPU,以执行能够处理故障的子例程。在此示例中,信号到达 CPU 时中断的时序至关重要。中断是硬件或软件驱动的信号,可导致 CPU 暂停当前的程序序列并执行子例程。中断通常处理对应用至关重要并需要及时执行的时间关键循环和控制算法。大多数情况下,中断能以已知频率定期发生。但是,在设计软件架构时,您是否曾看到中断波形出现错误振荡,如 图 1 中所示?
二、中断系统概述
TMS320C28x CPU and Instruction Set
如果想深入了解图1所出现问题的根因,需要深入了解C2000系列DSP的中断架构与分类、中断向量表与优先级机制、外设中断与CPU中断的区别等内容,可参考C2000 F280039C用户指导手册中断章节。
标准的中断处理流程如下(中断请求→中断Flag和使能被置位→全局中断使能开关→中断服务函数ISR):