操作系统与固件
FreeRTOS
厂商/来源:
Amazon Web Services
核心功能:
“硬实时的标尺”。当设备没有 1GB 内存,只有 128KB 内存,且必须在 1ms 内响应传感器信号时,它是唯一选择。
| 适用场景 | 电机控制、高频逆变器、工业仪器仪表、复杂的 ESP32 逻辑 |
| 架构支持 | MCU 制霸 (STM32, ESP32, Nordic nRF, TI C2000, RISC-V) |
| 资源开销 | 极微。内核仅需 4KB - 9KB ROM。 |
| 核心价值 | 确定性 (Determinism):这是 Linux 做不到的。Linux 可能因为后台跑个日志压缩就卡顿 100ms,而 FreeRTOS 保证高优先级任务(如“紧急停机”)永远优先执行,误差在微秒级。 |
| 交付形态 | C 语言源码库 (集成在 Keil/IAR/VSCode 项目中编译) |
| 避坑指南 | [死机之源] 1. 栈溢出 (Stack Overflow):这是新手最容易遇到的 Crash。给任务分配堆栈太小,函数调用层级一深直接踩坏内存。对策:开发阶段必须开启 vApplicationStackOverflowHook 钩子函数,监测并打印溢出任务名。 2. 优先级翻转 (Priority Inversion):低优先级任务占着锁不放,高优先级任务饿死。对策:使用互斥量 (Mutex) 而不是二进制信号量,因为 Mutex 带有“优先级继承”机制,能缓解此问题。 3. 堆内存碎片:频繁 malloc/free 会导致内存碎片化,最终申请不到内存。对策:工业场景建议使用 heap_4.c 内存管理策略,或者干脆使用静态内存分配。 |
| 推荐搭配 | [STM32F4/H7] [ESP32] [SEGGER SystemView (调试神器)] |