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

STM32H750之FreeRTOS学习--------(一)初识RTOS

FreeRTOS

一、初识RTOS

裸机:裸机又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序

  1. 实时性差,程序轮流执行
  2. delayCPU空等待,效率低
  3. 程序混乱,臃肿,功能都放在while循环

image-20231027211824152

RTOS:Real Time OS,就是实时操作系统

  1. 分而治之,实现功能划分为多个任务
  2. 延时函数,delay后进行任务调度
  3. 抢占式,高优先级任务抢占低优先级任务
  4. 任务堆栈,每个任务都有自己的栈空间
  • 中断可以打断任务,中断优先级由硬件决定
  • 任务优先级人为设置,可以设置同一优先级
  • 任务之间可以相互打断

image-20231027212256043

任务调度

  • 抢占式调度

优先执行任务优先级高的任务

  • 时间片调度

任务优先级相同时,任务调度器会每隔一个固定的周期切换CPU正在执行的任务

  • 协程式调度

高优先级无法抢占低优先级任务

任务的四种状态

image-20231027212756285

  • 任务除了运行态外,每种状态都有自己的任务状态列表
    1. 就绪列表 pxReadyTasksLists[x]
    2. 阻塞列表 pxDelayedTaskList
    3. 挂起列表 xSuspendedTaskList
  • x代表任务优先级的数值

image-20231027213023717
相同优先级的任务会连接在同一个就绪列表上

http://www.lryc.cn/news/213045.html

相关文章:

  • 关于pycharm中句号变成点的问题
  • FedGNN: Federated Graph Neural Network for Privacy-Preserving Recommendation
  • k8s---pod进阶
  • scrapy框架爬取数据(创建一个scrapy项目+xpath解析数据+通过pipelines管道实现数据保存+中间件)
  • 你被骗了吗?别拿低价诱骗机器视觉小白,4000元机器视觉系统怎么来的?机器视觉工程师自己组装一个2000元不到,还带深度学习
  • 计算机毕业设计选题推荐-大学生校园兼职微信小程序/安卓APP-项目实战
  • 如何使用 Docker 搭建 Jenkins 环境?从安装到精通
  • YOLOv5配置文件之 - yaml
  • HBuilderX实现安卓真机调试
  • 如何使用IP归属地查询API加强网络安全
  • Nginx 实战指南:暴露出请求的真实 IP
  • golang工程— grpc-gateway健康检查和跨域配置
  • 怎么样把握单片机的实际应用?说几句大实话
  • PostgreSQL在云端:部署、管理和扩展你的数据库
  • Maven进阶系列-继承和聚合
  • Lintcode 3715 · Lowest Common Ancestor V (最小祖先好题)
  • SQL LIKE 运算符
  • AR眼镜定制开发-智能眼镜的主板硬件、软件
  • [双指针] (三) LeetCode LCR 179. 查找总价格为目标值的两个商品 和 15. 三数之和
  • 左移测试,如何确保安全合规还能实现高度自动化?
  • mysql 增删改查基础命令
  • C# 使用 AES 加解密文件
  • SSM培训报名管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
  • 锁表后引发的几种删除方式与不同的扩展
  • 20.2 OpenSSL 非对称RSA加解密算法
  • MySQL安装『适用于 CentOS 7』
  • 国家数据局成立,公共数据如何掘金?
  • PostgreSQL基于Patroni方案的高可用启动流程分析
  • opencv+yolov8实现监控画面报警功能
  • 基于深度学习的单图像人群计数研究:网络设计、损失函数和监控信号