【FreeRTOS笔记】1--初识FreeRTOS

本文介绍了实时操作系统FreeRTOS的基本概念,包括任务调度、任务状态(运行态、就绪态、阻塞态、挂起态)、任务优先级以及任务创建。FreeRTOS中,任务优先级数值越低,优先级越低,任务的创建可通过xTaskCreate()或xTaskCreateStatic()函数实现,任务堆栈在任务切换时起到保存和恢复现场的作用。
摘要由CSDN通过智能技术生成

个人笔记,向原子哥学习的

RTOS全称Real Time Operating System,中文名称就是实时操作系统
操作系统允许多个任务同时执行,叫做多任务,但实际上一个CPU在某一时刻只能运行一个任务。操作系统中任务调度器会决定在某一时刻应该运行哪个任务,在各个任务器之间进行切换,合理使用系统资源,提高效率。
RTOS的任务调度器被设计为可预测的,这正是嵌入式实时操作系统所需要的,具体实现,是由用户给每个任务分配一个任务优先级,任务调度器就可以根据优先级来决定下一刻应该运行哪个任务。

什么是多任务系统?
以前个人学习C51、STM32单片机裸机的时候一般都是在main函数里用一个while(1)做一个大循环来完成所有处理,只是有时候需要用到中断去处理一些事情,称为单任务处理,也成前后台系统,中断服务函数作为前台程序,大循环作为后台程序。
前后台系统的实时性差,前后台系统各个任务都是排队等着轮流执行,需要排队等饭吃。
而在抢占式多任务系统里,高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权,这样子就能保证紧急任务的运行。

任务

在使用RTOS的时候一个实时应用可以作为一个独立的任务。每个任务都有自己的运行环境,不依赖系统中其他任务或者RTOS调度器。任何一个时间点只能有一个任务运行,具体哪个任务是由RTOS调度器决定的,RTOS调度器因此会重复的开启、关闭每个人任务。
任务不需要了解RTOS调度器的具体行为,RTOS调度器的职责是确保当一个任务开始执行的时候其上下文环境(寄存器、堆栈等内容)和任务上一次退出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值