初识FreeRTOS

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Cell_KEY/article/details/79664019

从名字就可以看出,FreeRTOS分为2部分Free和RTOS,Free代表着免费的,自由的,不受约束的,RTOS全称是Real Time Operating System,中文名就是实时操作系统,所以FreeRTOS是一个免费的实时操作系统,需要注意的是RTOS并不是指一个确定的系统,而是指一类系统。比如 UCOS,RTX, RT-Thread等都是RTOS类操作系统。

 操作系统许同时执行多个任务,但是处理器核心同时只能处理一个任务,操作系统中的任务调度器就是决定某一时刻究竟运行哪个任务,任务调度在各个任务之间切换是非常快的,所以就造成了同一时刻有多个任务在运行的错觉。

操作系统的分类方式可以由任务调度器的工作方式决定的,比如操作系统给每个任务分配同样的时间,时间到了就切换到下个 任务,Unix操作系统就是这样的,RTOS的任务调度器被设计为可预测的,而这正是嵌入式实时操作系统所需要的,实时环境中要求操作系统必须对某一事件作出实时响应,因此系统任务调度器必须是可预测的,像FreeRTOS这种传统的RTOS类操作系统是由用户给每个任务分配一个任务优先级,任务调度器可以根据此优先级决定下一刻该运行哪个任务。、

FreeRTOS十分小巧,可以在资源有限的微控制器中运行。

FreeRTOS特点:

FreeRTOS是一个小型可裁剪的RTOS系统,其特点包括:

  • FreeRTOS的内核支持抢占式、合作式和时间片调度。
  • 提供了一个用于多功耗的Tickless模式。(滴答时钟节拍停止运行)
  • 系统组件在创建时可以选择静态和动态的ARM。比如任务、消息队列、信号量、软件定时器等。
  • FreeRTOS系统简单、小巧、易用,通常情况下内核占用4K-9K的空间。
  • 支持实时任务和协程
  • 任务任务之间,任务与中断之间可以使用任务通知、消息队列、二值信号量、数值信号量、递归互斥信号量和互斥信号量进行通信与同步
  • 创新的事件组(或者事件标志)
  • 具有优先级继承特性的互斥信号量
  • 高效的软件定时
  • 强大的跟踪执行功能
  • 堆栈溢出检测
  • 任务数量不限
  • 任务优先级不限
FreeRTOS官网:点击打开链接
展开阅读全文

没有更多推荐了,返回首页