Freertos文件组成

← FreeRTOS内核实现与应用开发实战指南知识地图 | ← 主页

←术·移植所有文件|


FreeRTOS 官方源码包目录结构:

根目录1级2级说明
Sourceinclude内核头文件(task.h、queue.h、list.h…)
tasks.c任务创建、调度、阻塞/延时核心
queue.c队列、信号量、互斥量、递归互斥量
list.c链表实现
timers.c软件定时器
event_groups.c事件组
stream_buffer.c流缓冲/消息缓冲
croutine.c协程(旧特性,一般不用)
portableRVDSKeil MDK 编译器移植这个
GCCGCC 交叉编译移植这个
IARIAR 编译器移植这个
MemMang内存管理 heap_1 ~ heap_5.c
Demo官方示例工程(各芯片平台)
LicenseMIT 开源许可
  • 每个芯片移植目录(如 portable/GCC/ARM_CM4F/)只含两个关键文件:port.c(上下文切换汇编)和 portmacro.h(宏定义)
  • 内存管理 只能选一个 heap_x.c 加入工程:
方案特点适用
heap_1只能分配不能释放任务/队列永不删除的简单场景
heap_2可释放、不合并碎片已废弃
heap_3包装标准库 malloc/free(需 C 库开堆)想用标准库的线程安全版本
heap_4空闲块合并 + 首地址对齐一般项目默认推荐
heap_5同 heap_4,支持多个不连续内存区多段 RAM 的芯片