type: entity title: FreeRTOS 基础概念 tags: [freertos, rtos, embedded, concept]
裸机开发在没有 OS 支持下直接操作硬件,开发者亲自管理 CPU、内存和 I/O 资源。
操作系统作为硬件与应用之间的桥梁,负责分配计算和内存资源。分为两类:
由美国的 Richard Barry 于 2003 年发布,2017 年被亚马逊收购(AWS FreeRTOS)。MIT 开源许可。
核心优势:开源免费、轻量级、多平台支持、丰富的功能(多任务调度、通信、同步)。
内核是 OS 的核心组件。多任务 OS 将复杂应用分割成一组更小、更易管理的任务。单核处理器通过任务间快速切换制造并发执行的假象。
| 类型 | 说明 |
|---|---|
TickType_t |
系统节拍计数器类型,16 位或 32 位(由 configUSE_16_BIT_TICKS 决定) |
BaseType_t |
架构最自然有效类型,32 位架构上为 32 位,有符号 |
UBaseType_t |
无符号 BaseType_t |
StackType_t |
架构用于存储堆栈的类型 |
变量前缀:ul(uint32_t)、us(uint16_t)、uc(uint8_t)、x(非 stdint 类型)、ux(无符号非 stdint)、e(枚举)、p(指针)
函数前缀:prv(私有静态)、返回值类型(v 表示 void)+ 文件名 + 功能名,如 vTaskDelay 表示 task.c 中返回 void 的延时函数
宏:文件名前缀(小写)+ 大写下划线名称,如 configUSE_PREEMPTION