也就是不能调用那些可能会阻塞,把本线程idel的api。
假如我的系统中断是不支持嵌套的情况下,可是我觉得是可用的。
中断发生一些事情后,阻塞,上下文切出,堆栈保存。
切换到其他任务,其他上下文。其他任务的堆栈现场还原。(还原中包括cpu的cc寄存器,包括在中断中,还是一般运行)
这个时候,cpu已经认为是在一般运行中了,非中断中。
····································································
如果某个事件发生,让中断中被阻塞的得到运行机会。运行。然后恢复现场,执行一些任务,然后reti,中断推出??
这个有什么问题吗?我觉得这样没有问题。可是大家都说中断中不能调用阻塞API。
······································································································································
另外一个问题。大家都说中断中可以put (msg,mutex,queue)
如果中断中put信号量后,发生了 进程切换,其实也是把本中断现场保存了。中断还是不得推出。直到中断发生时候的task得到运行机会。才会发生中断推出的事情。
|