发 帖  
原厂入驻New
[资料]

STM32 上 RTOS 的中断管理

2021-1-27 17:30:13  4214 单片机 STM32 rtos 中断
分享
一. 中断管理体系
RTOS管理.png
本文以 STM32F1,F2,F3,F4 为例(采用 Cortex-M3,M4 内核),内核支持中断嵌套(最多可设置256 个中断优先级)。STM32 只使用其中的 16 个优先级。
如上图所示,RTOS 一般不会将优先级分组,但是会设置为 3 类,优先级最低的中断(级别 15)由Systick,PendSV 所使用;中断级别 8~14 的服务程序可以调用内核提供的进程间通信函数,但是此类中断服务程序会受到内核的影响,中断响应可能被推迟(在进入临界区后,CPU 会设置为忽略为8~15 的优先级中断请求,但中断控制器会锁存这些请求,在告别临界区后重新打开中断便可立即产生中断请求);级别 0~7 的中断服务程序不使用内核提供的任何函数,即内核不会影响这些中断,因此其中断延迟时间是非常短的。

二. 中断延迟的实例
1.  测试简介
初始化 GPIO PA0 为 EXTI 中断,进入临界区后按 PA0(中断源),中断不会即时响应,离开临界区后此中断会被响应。

RTOS-1.png

RTOS-2.png
临界区实现如下,此临界区实现屏蔽掉所有中断优先级的中断,注意在 M3/M4 内核下,可以屏蔽一定级别的中断。

RTOS-3.png
三. FreeRTOS  下的设置
FreeRTOSConfig.h 中

RTOS-4.png
3

STM32上RTOS的中断管理.pdf

下载积分: 积分 -1 分

198.29 KB , 下载次数: 1 , 下载积分: 积分 -1 分

分享淘帖 显示全部楼层
最近下载过的用户(1)
· 2021-1-27 21:59:47
围观一下      

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表