打印
[STM32]

有操作系统后,中断是怎么被管理的

[复制链接]
897|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ares_tina|  楼主 | 2020-5-15 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如ARM或STM32 MCU,它们在裸跑时,是cpu/中断控制器直接响应中断。
那么有了操作系统之后,比如uc/os,freertos,中断是怎么被操作系统管理的?
来了中断之后,操作系统是怎么介入管理中断的。

使用特权

评论回复

相关帖子

沙发
ayb_ice| | 2020-5-16 08:30 | 只看该作者
本帖最后由 ayb_ice 于 2020-5-16 08:32 编辑

可以不管理中断,但中断不允许调用OS API

也可以管理中断,但必须按OS的规范使用,一般会记录中断的嵌套次数,在最后一个中断退出后进行任务切换,中断里能使用的OS API较少,都会特别说明的
只能在最后的中断退出后才能任务切换,因为最低级的中断实际也比最高优先级任务还要高

使用特权

评论回复
板凳
airwill| | 2020-5-17 22:27 | 只看该作者
OS 不一定要去干预中断. 但是有些中断是必须要管理的.  比如时基.

使用特权

评论回复
地板
elife| | 2020-5-17 22:42 | 只看该作者
需要在中断处理函数中加入系统处理部分,一般是在中断退出前的时刻进行任务调度。这样系统就管理中断了。

使用特权

评论回复
5
ayb_ice| | 2020-5-18 08:26 | 只看该作者
elife 发表于 2020-5-17 22:42
需要在中断处理函数中加入系统处理部分,一般是在中断退出前的时刻进行任务调度。这样系统就管理中断了。 ...

要考虑中断嵌套的问题

使用特权

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

本版积分规则

22

主题

27

帖子

0

粉丝