RTOS学习笔记--RTOS系统介绍

RTOS学习笔记–RTOS介绍

本文基于正点原子RTOS开发指南,笔记自用,获取详细信息请关注正点原子官方账号

RTOS特点:RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性,其将任务划分为多个任务进行,对每个任务设置优先级,高优先级的任务可以打断低优先级的任务,每个任务有自己独立的堆栈,其结构如下
在这里插入图片描述

但是在实际上来说,RTOS中的任务是分时间而执行的,每一个任务都独立执行一会儿,然后跳转到下一个任务

在这里插入图片描述

任务调度的方式

调度器:调度器就是使用相关的算法来决定当前需要执行哪种调度算法,RTOS支持三种形式

调度算法简介
抢占式调度主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。,优先级是单一的,不会重复
时间片调度主要针对优先级相同的任务,当多个任务的优先级相同时, 任务调度器会在每一次系统时钟节拍到的时候切换任务。优先级可能会重复
协程式调度当前执行任务将会一直运行,同时高优先级的任务不会抢占低优先级任务,不会再更新

抢占式调度

  1. 创建三个任务,分别为Task1、Task2、Task3 其优先级分别为1,、2、3
  2. 在RTOS中 中断优先级数字越大 代表其越优先
  • 在运行过程中Task2 会抢夺Task1 Task3会抢夺Task2,被抢夺的任务就阻塞住了
  • 总结
    1. 高优先级任务优先执行
    2. 高优先级任务只要不停止,低优先级任务就会一直阻塞
    3. 被抢占的任务将会进入就绪态,如T2 抢占了T1 T2进入了就绪态,可以执行了
      在这里插入图片描述

时间片调度

同等优先级任务轮流享有相同的CPU时间(可以设置),也叫时间片,在RTOS中 一个时间片就等于SysTick中断周期

  1. 运行三个任务 T1、T2、T3
  2. T1、T2、T3的优先级均为1
  • T1运行一个时间片后 该T2运行
  • 如T2运行0.5T 个时间片,剩下的0.5T个时间片直接丢掉,跳转到下一个任务执行,在一个循环过后,到了T2依然是1T个时间片
  • 如T2运行时间超出了一个时间片,那么T2将会阻塞,直到下一个循环到他的时间片之后他才会继续执行
  • 总结
    1. 同等优先任务,轮流执行,时间片流转
    2. 一个时间片的大小,取决于滴答定时器的中断周期
    3. 没有用完的时间片不会再使用,下次任务T2时还是按一个时间片分配

在这里插入图片描述

任务状态

  • 运行态:正在执行的任务,在32中同一时间只有一个任务处于运行态
  • 就绪态:该任务已经能被执行,已经准备好了,但是还未执行,就叫就绪态,如果都准备好了,则执行优先级最高的就绪态
  • 阻塞态:如果一个任务因延时或者等待外部时间发生,则该任务就处于阻塞态
  • 挂起态:类似暂停,调用函数 vTaskSuspend() 进入挂起态,需要调用解挂函数vTaskResume()
    才可以进入就绪态
任务状态转换图

在这里插入图片描述

  1. 只有就绪态才可以直接变为运行态
  2. 其他状态的任务要想运行,必须进入就绪态

任务状态列表

这四种状态中,除了运行态,其他三种任务状态的任务都有其对应的任务状态列表

  • 就绪列表:pxReadyTasksLists[x],其中x代表任务优先级数值

在这里插入图片描述

  • 阻塞列表:pxDelayedTaskList
  • 挂起列表:xSuspendedTaskList

在这里插入图片描述

系统配置文件详解

FreeRTOSConfig.h配置文件中的中对RTOS功能进行裁剪

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TI RTOS学习笔记是作者在学习TI-RTOS过程中记录的学习笔记。根据引用[1],在学习TI-RTOS之前,先要了解什么是RTOS,以及什么是TI-RTOSRTOS是实时操作系统(Real-Time Operating System)的缩写,它是一种专门用于处理实时任务的操作系统。TI-RTOS是Texas Instruments(TI)公司提供的一种RTOS,适用于TI系列的处理器和微控制器。 根据引用,作者在网上没有找到TI-RTOS学习视频,但TI公司提供了许多相关的文档资料,因此作者选择通过阅读文档并记录笔记学习TI-RTOS。 另外,引用中提到了TI RTOS SDK编译框架的介绍。TI RTOS SDK是TI公司提供的用于开发TI-RTOS应用程序的软件开发工具包。编译框架是指用于将源代码转换为可执行文件的编译和构建过程。通过学习和了解TI RTOS SDK的编译框架,可以更好地理解和使用TI-RTOS。 所以,TI RTOS学习笔记是作者记录的关于学习TI-RTOS笔记,包括对RTOS的理解、TI-RTOS介绍以及TI RTOS SDK的编译框架的学习总结。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [TI-RTOS学习记录(一)——初识TI-RTOS](https://blog.csdn.net/qq_43105170/article/details/126447116)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [TI RTOS SDK编译框架介绍](https://download.csdn.net/download/embededman/86951678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值