中断子系统
概述
请先阅读中断基础
Linux嵌入式中断不可嵌套
分为硬件中断和软件中断
硬件中断
cpu每执行一条指令的时候,就会检查是否有硬件中断发生,当发生硬件中断的时候,根据硬件中断号,跳转到指定地址去执行

保存现场,关中断
会跳到指定的地址去执行硬件中断的回调函数,此时分为上半部和下半部分

当上半部执行完毕的时候就打开了中断,恢复现场,下半部就靠cpu调度处理一些非紧急的事情,此时的下半部有可能被新的中断打断。
假如中断A在上半部执行的时候又发生了中断A,那么只有当A执行到下半部的时候(此时已经打开了中断),才会再次进入A中断的上半部,而不是直接把A中断信号给丢弃了
软件中断
处理时机

当有硬件中断发生时候,硬件中断执行完后,顺便检查下是有够软件中断发生
当在cpu的节拍中,比如每10ms就检查下是否有软件中断发生
下半部处理机制参见02.Linux驱动开发基础
软中断
tasklet
work queue工作队列
新技术threaded irq