当前位置: 首页 > 工具软件 > FreeRTOS > 使用案例 >

FreeRTOS介绍

桂丰
2023-12-01

由Real Time Engineers Ltd(股份有限公司)开发维护。FreeRTOS适用于使用微处理器的深度嵌入式实时应用场景。这类应用通常包含有硬实时或软实时。

硬实时

举例:我们期待安全气囊能够按计划弹出

软实时

举例:敲击键盘,在敲击后,会执行但是会延时一定时间,我们只是感觉到卡顿

在FreeRTOS中,每一个线程被称为一个任务,后续我们所说的线程或任务为同一个概念。我们清楚,类似GD32F407的Cortex-M4内核的单片机,只有单核,同时只能运行一个任务,当同时有多个任务等待单片机处理时,必然有些任务能够实现硬实时,有些任务只能实现软实时。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

当一个工程比较小的时候,我们可以通过裸机实现想要的功能。而当工程比较复杂,需要引入一个系统时,一位资深的工程师无疑是有能力手撸来实现一个与实时操作系统功能相同的工程的,但是这对工程师的要求比较高,也比较耗费时间,人生苦短,所以我们使用FreeRTOS,当然使用FreeRTOS还有如下原因:

  1. 将时基信息抽象
    1. FreeRTOS的内核负责时基功能,并为应用提供与时间有关的API
  2. 模块化
    1. 任务之间互相独立,我们可以依据需求建立对应模块
  3. 高可维护/高可拓展
    1. 对时基细节的抽象,使不同模块之间具有高独立性,软件运行在可控与可预测的方式上。而这种性能并不会因为硬件平台的改变而改变
  4. 便于团队开发
    1. FreeRTOS提供了标准的接口,方便团队进行开发
  5. 便于测试
    1. 因为任务建立时的模块化,以及使用了FreeRTOS提供的标准接口,因此可以进行独立的测试
  6. 高代码重用率
    1. 良好的模块化以及更少的相互依赖,在进行代码重用时可以节省不少的功夫
  7. 提高单片机利用率
    1. 使用FreeRTOS内核允许软件完全由事件驱动,因此不需要为一些尚未发生的事件浪费单片机资源用于轮询,代码只有在事件必须进行处理的时候才会执行
  8. 空闲时间
    1. 每一个FreeRTOS中会配置一个空闲任务,当所有的任务进入阻塞态时,会执行这个任务。空闲任务可以用来用户自定义功能,或者用来进入低功耗模式
  9. 功耗管理
    1. 由于FreeRTOS的高效,单片机可以在空闲任务中进入低功耗模式,大大节省了能量消耗
  10. 灵活的中断处理程序
    1. 通过将中断处理放到用户任务,或FreeRTOS的守护任务中,中断处理程序可以设置的非常短
  11. 混合处理需求实现
    1. 单设计模式可以在应用中实现周期、连续以及事件驱动的功能。通过设置合理的任务与中断优先级,可以实现硬实时以及软实时需求

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

综上,FreeRTOS可以实现如下特性:

  • 抢占式/响应式操作
  • 灵活的任务优先级分配
  • 灵活、快速以及轻量级的任务通知机制
  • 队列
  • 二值信号量
  • 计数信号量
  • 互斥
  • 递归互斥
  • 软件定时器
  • 事件组
  • 支持时钟滴答挂钩函数
  • 支持空闲任务挂钩函数
  • 栈溢出检测
  • 记录跟踪
  • 任务运行时间静态收集
  • 可选的商业证书与支持
  • 支持某些架构的全嵌入中断模式
  • 支持低时钟滴答来实现高节能模式
  • 适度的软件管理中断栈

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

FreeRTOS的家族成员有:FreeRTOS,OpenRTOS,SafeRTOS。不同的系统具有不同的开放与支持等级。比如FreeRTOS为开源证书,能够保证:

  1. FreeRTOS可用于商业应用
  2. FreeRTOS对所有人是免费
  3. FreeRTOS用户是他们基于此产品产出的知识产权的拥有者

相对的OpenRTOS是由Real Time Engineers Ltd.第三方提供的FreeRTOS的商业证书版本。

而SafeRTOS与FreeRTOS共享相同的使用模式,但它是根据各种国际公认的安全相关标准所必须的流程进行的开发。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 类似资料: