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

[复制链接]
 楼主| 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 | 显示全部楼层
需要在中断处理函数中加入系统处理部分,一般是在中断退出前的时刻进行任务调度。这样系统就管理中断了。
ayb_ice 发表于 2020-5-18 08:26 | 显示全部楼层
elife 发表于 2020-5-17 22:42
需要在中断处理函数中加入系统处理部分,一般是在中断退出前的时刻进行任务调度。这样系统就管理中断了。 ...

要考虑中断嵌套的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部