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
需要在中断处理函数中加入系统处理部分,一般是在中断退出前的时刻进行任务调度。这样系统就管理中断了。 ...

要考虑中断嵌套的问题
页: [1]
查看完整版本: 有操作系统后,中断是怎么被管理的