FreeRTOS学习笔记一【简介】

这一篇没有干货,只有FreeRTOS的一些介绍,可以选择性略过。

简介

FreeRTOS非常适用于微处理器或者小型微处理器的深度嵌入式实时应用,而这类应用包括硬实时应用和软实时应用。
软实时即是在设定时间内运行,但未在该时间内运行不会使系统失效的应用,比如,响应按键输入太慢(但会影响操作体验)。
硬实时必须在设定时间内运行,如未在设定时间内运行将造成严重后果的应用,如:避障小车的距离检测与刹车装置。

FreeRTOS是一个实时内核或者称为实时调度程序,可以在其上构建嵌入式应用满足硬实时要求。它允许将各个应用程序组织为独立执行的任务集合,如果处理器是单核,则在任意时刻只能运行一个任务。内核通过检查每个任务的设定的优先级来决定执行哪个任务。最简单的情况下,可以给硬实时应用设置更高的优先级,而软实时应用设置较低级的优先级。

为什么使用Free RTOS

  • 抽象时序细节
    内核负责任务的执行时序,并为应用程序提供与时间相关的API。这样就可以让应用程序的代码结构更加简单,降低程序逻辑设计的复杂度。
  • 可扩展性
    抽象时序细节后模块间的依赖性降低,同时内核负责计时,因此应用程序性能不易受到底层硬件的影响。
  • 模块化
    每个任务都是独立的模块,每个模块就具有明确的目的。
  • 团队开发
    任务间有明确定义的接口,允许团队开发。
  • 更容易测试
    如果任务是具有接口的定义明确的独立模块,则可以单独测试它们。
  • 代码重用
    更高的模块化和更少的相互依赖性导致代码可以轻松地重复使用。
  • 提高效率
    使用RTOS允许软件完全由事件驱动(没有OS时,及时轮询机制),因此不会浪费任何处理时间。 代码仅在必须执行某些操作时执行。
  • 空闲时间
    启动调度程序时会自动创建空闲任务。 只要没有要执行的应用程序任务时,它就会执行。 空闲任务可用于测量备用处理容量,执行后台检查,或仅用于将处理器置于低功耗模式。
  • 电源管理
    通过使用RTOS获得的效率增益允许处理器在低功率模式下花费更多时间。每次空闲任务运行时,通过将处理器置于低功耗状态,可以显着降低功耗。 FreeRTOS还有一个特殊的无滴答模式。使用无滴答模式允许处理器进入比其他可能的低功率模式,并且保持低功耗模式更长时间。
  • 灵活的中断处理
    通过将处理延迟到应用程序编写器创建的任务或FreeRTOS守护程序任务,可以使中断处理程序保持非常短。
  • 混合处理要求
    简单的设计模式可以在应用程序中实现周期性,连续性和事件驱动的处理。 此外,通过选择适当的任务和中断优先级,可以满足硬件和软件的实时要求。

Free RTOS的特性

  • 任务优先级分配灵活
  • 灵活,快速,轻量级的任务通知机制
  • 队列
  • 二值信号量
  • 计数信号量
  • 互斥锁
  • 递归互斥锁
  • 软件定时器
  • 事件组
  • 任务hook函数
  • 空闲hook函数
  • 堆栈溢出检查
  • 跟踪记录
  • 任务运行时统计信息收集
  • 可选的商业许可和支持
  • 完全中断嵌套模型(对于某些体系结构)
  • 适用于极低功耗应用的无滴答功能
  • 适当时软件管理中断堆栈(这可以帮助节省RAM)

与FreeRTOS相关的两个RTOS

OpenRTOS是FreeRTOS的商业许可版本,由Real Time Engineers Ltd.许可,由第三方提供。

SafeRTOS与FreeRTOS共享相同的使用模式,但是符合国际公认的安全相关标准。

源码与资料获取

进入Free RTOS官网,即可下载源码。
在这里插入图片描述

参考

Free RTOS官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值