FreeRTOS基础篇(一)——介绍

前言:
   FreeRTOS 是目前全球最受欢迎的开源实时操作系统(RTOS)之一,在嵌入式系统领域具有广泛的影响力。

1 介绍

  FreeRTOS(Free Real-Time Operating System)是一款开源的实时操作系统(RTOS),专为嵌入式系统和微控制器(MCU)设计。它以其轻量级、高可靠性、可移植性和免费开源(MIT 许可证)的特点,成为嵌入式开发领域的标杆之一。
  FreeRTOS 的影响力体现在其广泛的市场应用、强大的开源生态、持续的技术创新以及行业认可度上。随着物联网和嵌入式设备的快速发展,FreeRTOS 预计仍将在未来几年保持其核心地位,特别是在低功耗、实时性要求高的应用场景中。

  • FreeRTOS的核心特点:

    • 实时性(Real-Time):支持抢占式调度和时间片轮转,确保关键任务按时执行。
    • 轻量级:内核代码仅占用 6KB~12KB ROM,适用于资源受限的 MCU(如 ARM Cortex-M、ESP32、RISC-V)。
    • 可移植性:支持 40+ 种处理器架构,包括 ARM、x86、MIPS、RISC-V 等。
    • 开源免费(MIT 许可证):可自由商用,无需支付版权费用。
    • 模块化设计:提供任务管理、队列、信号量、软件定时器等基本组件,并可扩展文件系统(FatFS)、TCP/IP 协议栈(lwIP)等。
  • FreeRTOS 的核心功能:

    • 任务管理 支持多任务(线程)创建、删除、优先级调度。
    • 内存管理 提供动态内存分配(heap_1~heap_5 多种策略)。
    • 任务通信 队列(Queue)、信号量(Semaphore)、互斥锁(Mutex)、事件组(Event Group)。
    • 软件定时器 支持单次/周期性定时任务。
    • 低功耗支持 提供 Tickless 模式,减少 CPU 空闲功耗。
    • 中断管理 可嵌套中断,支持中断安全 API(FromISR)。

2 下载源码

  FreeRTOS 官网 支持中文,提供丰富的包括文档、教程和 API 参考等。
  可以从官网下载源码或者从github仓库clone源码。FreeRTOS提供三种版本。

仓库 版本类型 更新策略 适用场景 是否适合生产环境
FreeRTOS 正式版(Mainline) 频繁更新,加入新功能 需要最新功能的项目
FreeRTOS-LTS 长期支持版 只修复 Bug,不新增功能 工业级稳定产品
FreeRTOS-Labs 实验性版本 不稳定,可能有新特性 评估、学习、Demo 开发

  学习为目的建议使用正式版,能接触到最新的功能,工业开发则建议使用长期支持版。clone仓库后还需要更新子仓库。
  正式版本包含了Demo例程。

1
git submodule update --init