中断是嵌入式系统中一个魅力十足亮点, 关于DJYOS对中断的内部巧妙的处理机制,各位看官可阅读《都江堰操作系统与嵌入式系统设计》中第六章节“中断”相关内容以及DJYOS源码中int.c/int.h中相关内容。本文探讨两点:DJYOS中中断处理流程以及如何将自己板子上的中断快速地挂接到DJYOS的中断系统。
DJYOS中断控制块的结构示意图如图1所示:
图1 DJYOS中断控制块结构示意图
在图1所示中中断线可以理解为中断向量表中的某个中断向量,一个中断向量可对应一个或者多个中断源,也就说某个中断线有可能被多个中断源触发而接通,在中断ISR内部可判断具体是哪个中断源触发。DJYOS将中断类型分为实时中断和异步信号。实时中断对应紧急程度非常高的中断信号,异步信号对应紧急程度不是很高的中断信号,实时中断可打断异步信号,实时中断中又可实现嵌套,实时中断ISR中不可使用系统的调度功能。关于实时中断和异步信号的详细区别参考《都江堰操作系统与嵌入式系统设计》中第六章节“中断”相关内容。每个中断可自由配置为实时