打印

rtos中中断服务为什么不能被阻塞????

[复制链接]
1125|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
solo777|  楼主 | 2013-12-11 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
也就是不能调用那些可能会阻塞,把本线程idel的api。

假如我的系统中断是不支持嵌套的情况下,可是我觉得是可用的。

中断发生一些事情后,阻塞,上下文切出,堆栈保存。

切换到其他任务,其他上下文。其他任务的堆栈现场还原。(还原中包括cpu的cc寄存器,包括在中断中,还是一般运行)

这个时候,cpu已经认为是在一般运行中了,非中断中。


····································································
如果某个事件发生,让中断中被阻塞的得到运行机会。运行。然后恢复现场,执行一些任务,然后reti,中断推出??

这个有什么问题吗?我觉得这样没有问题。可是大家都说中断中不能调用阻塞API。

······································································································································
另外一个问题。大家都说中断中可以put (msg,mutex,queue)
如果中断中put信号量后,发生了 进程切换,其实也是把本中断现场保存了。中断还是不得推出。直到中断发生时候的task得到运行机会。才会发生中断推出的事情。

相关帖子

沙发
solo777|  楼主 | 2013-12-11 14:21 | 只看该作者
如果中断支持嵌套,会发生什么?前提都是,CPU的cc都属于现场的组成部分。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

375

帖子

2

粉丝