当前位置: 首页 > news >正文

【OS】RTOS的任务切换原理

在RTOS中有两个函数至关重要,分别是PendSV_HandlerSysTick_Handler。

SysTick_Handler:嘀嗒定时器中断,这个中断作为操作系统的心脏,给操作系统提供心跳,在中断服务中提供上下文切换和任务调度工作,如下图:

但是这样可能会出现以下错误:

这么解决这个问题呢?就使用SysTick_Handler触发PendSV_Handler,在PendSV_Handler里处理上下文切换,如下图:

关于这两个中断的优先级,PendSV_Handler设置成最低,没什么好说的。SysTick_Handler有的不设置或者设成最高,这样OS的实时性会好点,也可以精准延时。在外部中断中,出现依赖SysTick的类似HAL_Delay()这样的延时函数,也不会卡死。但像FreeRTOS或有一版的RT-Thread就把SysTick中断优先级设成最低,这种情况也挺普遍。。。这种项目对实时性要求不高,但更强调对外设中断的响应,同时外设中断服务不会被打断,简化设计,有利于系统稳定。详细见Cortex-M3权威指南(中文).pdf第121页

实时性强调的是在规定的时间内完成操作

http://www.jsqmd.com/news/662058/

相关文章:

  • 如何用keil5软件的debug进行仿真调试
  • 硬件级精细温控:FanControl 风扇控制系统的技术架构与实战应用
  • 从EEPROM转战SPI Flash?STM32F103驱动W25Q64,你必须搞懂的‘页卷’与擦除机制
  • 微信小程序反编译实战:深度揭秘Wedecode如何实现跨平台源代码还原
  • 【地平线开发环境实战】基于Docker快速部署与配置全流程解析
  • 如何在3分钟内免费实现跨平台远程桌面控制:BilldDesk Pro完全指南
  • 【VSCode】多文件夹工作区的头文件路径引用
  • 2026年3月光学玻璃品牌推荐,支持来图定制加工,异形件均可按需生产制作 - 品牌推荐师
  • Access练习题(3)
  • 从摇骰子到抽奖机:用Arduino的random和randomSeed函数打造5个小项目
  • SQL利用窗口函数实现轻量级报表设计_实战技巧
  • 致远ZLG 功率分析仪PA2000mini
  • 从滑动窗口到RPN:目标检测候选区域生成技术的演进与核心
  • STM32F4标准库+LAN8720网线热插拔实战:从官方EVAL工程到实际项目的移植避坑指南
  • 2026年葫芦岛汽车贴膜行业选型指南白皮书 - GrowthUME
  • Obsidian Dataview终极指南:5个简单步骤将笔记库变为智能数据库
  • 如何在PC上免费玩Switch游戏?Ryujinx模拟器让你轻松实现
  • 气象科研人必备:用Python+WRF+Cartopy绘制专业雷达回波图(附完整代码)
  • Mapbox GL JS 实战:从零构建交互式地理可视化应用
  • 财务大数据是什么?怎么选财务大数据自动化工具?
  • 2026 年葫芦岛汽车贴膜全流程深度攻略:从选型到交付一站式指南 - GrowthUME
  • 先锁定目标客户,再找获客方法-佛山鼎策创局破局增长咨询
  • 2026年2款HR系统横评:红海云与用友谁更适合制造业?
  • 测试文章2
  • 沙盒测试-前缀和
  • 如何高效利用开源API资源库:开发者必备的完整指南
  • Python的__enter__传播上下文
  • WarcraftHelper:3步解决魔兽争霸3在Win11的兼容性问题
  • BaiduPCS-Go深度解析:命令行网盘管理实战指南
  • AI编程革命:5分钟生成高效脚本