用途
本技能专为在 STM32 微控制器上使用 FreeRTOS 实时操作系统进行嵌入式开发而设计。AI 将作为"嵌入式系统架构师",帮助编写安全、高效、可维护的 C 代码。
适用场景包括:
- 使用 STM32CubeMX 生成的工程
- ARM Cortex-M 全系列(F0/F1/F3/F4/F7/H7/G0/L0/L4/L5 等)
- FreeRTOS v10+ 版本
- 原生 FreeRTOS API 或 CMSIS-RTOS v2 API
主要能力
任务管理
- 创建静态/动态任务(xTaskCreate、xTaskCreateStatic)
- 设置优先级、堆栈大小、任务名
- 任务状态监控(uxTaskGetStackHighWaterMark)
任务间通信
- 队列(Queue):生产者-消费者模型
- 信号量(Semaphore):二值/计数型
- 互斥锁(Mutex):避免竞态条件,含优先级继承
- 事件组(Event Groups):多条件等待
- 任务通知(Task Notifications):轻量级替代方案
中断与任务交互
- 在 HAL 回调中使用 xQueueSendFromISR / vTaskNotifyGiveFromISR
- ISR 中不阻塞,仅发送通知
- portYIELD_FROM_ISR(xHigherPriorityTaskWoken) 用法
外设集成
- UART DMA + 队列:不定长数据接收(IDLE 中断)
- ADC DMA + 任务通知:连续采样
- I2C 主/从模式:传感器通信
- TIM 定时器/PWM:周期任务
内存与性能优化
- 推荐静态分配(避免 heap 碎片)
- 合理估算堆栈大小
- 开启 configASSERT() 和 configCHECK_FOR_STACK_OVERFLOW
- 使用 configUSE_PREEMPTION = 1 提升实时性
调试与诊断
- 生成任务列表打印代码(vTaskList)
- SEGGER SystemView(Keil/IAR 环境)
- Percep TRACEalyzer(FreeRTOS 环境)
- ITM/SWO 配置与 printf 调试
使用方式
技能采用"按需读取文档"的机制:AI 根据用户请求的具体类型选择性读取相关文档,不一次性读取所有文档。
- 代码生成请求:如"创建任务/队列/信号量/互斥锁/事件组/任务通知"读取 EXAMPLES/BASIC.md;"UART 驱动/ADC 驱动/I2C 驱动/TIM 驱动"读取 REFERENCE/HAL_DRIVERS.md + EXAMPLES/DRIVERS.md;"printf 重定向/ITM"读取 REFERENCE/STD_LIBS.md;"DMA 接收/不定长数据"读取 REFERENCE/HAL_DRIVERS.md + EXAMPLES/DRIVERS.md。
- 代码审查/问题排查请求:如"中断/FromISR/portYIELD_FROM_ISR/优先级配置"读取 PATTERNS/INTERRUPT.md;"死锁/优先级反转/堆栈溢出/资源泄漏"读取 PATTERNS/TRAPS.md;"生产者-消费者/状态机/资源池/发布-订阅"读取 PATTERNS/DESIGN.md。
- 调试请求:如"SystemView/TRACEalyzer/trace 分析"、"任务统计/堆栈监控/CPU 使用率"读取 REFERENCE/DEBUG_TOOLS.md。
- 高级应用请求:如"低功耗/Tickless/STOP 模式"、"CubeMX 配置"、"传感器融合/多任务"读取 EXAMPLES/ADVANCED.md。
- API 查询请求:如"xTaskCreate 参数/API 语法/函数说明"读取 REFERENCE/FREERTOS_API.md。
如果用户请求不够明确,无法判断读取哪个文件:先读取 SKILL.md 和 REFERENCE/FREERTOS_API.md,询问用户具体需求,再根据回答读取正确的文件。
文件索引
- 主文件:SKILL.md(AI 唯一自动读取的文件)
- 用户指南:USER_GUIDE.md(仅用户阅读,不读取)
- API 参考:REFERENCE/FREERTOS_API.md(FreeRTOS API 语法)、REFERENCE/STD_LIBS.md(标准库集成)、REFERENCE/HAL_DRIVERS.md(HAL 外设驱动)、REFERENCE/DEBUG_TOOLS.md(调试工具配置)
- 代码示例:EXAMPLES/BASIC.md(基础组件示例)、EXAMPLES/DRIVERS.md(外设驱动模板)、EXAMPLES/ADVANCED.md(高级应用)
- 设计模式:PATTERNS/DESIGN.md(设计模式)、PATTERNS/INTERRUPT.md(中断最佳实践)、PATTERNS/TRAPS.md(常见陷阱)
- 脚本工具:freertos_config_check.py,用于验证 FreeRTOSConfig.h 关键配置,命令为 python scripts/freertos_config_check.py FreeRTOSConfig.h,输出 JSON 格式,便于 CI 集成。
限制
资料未提供关于该技能的价格、收费模式、具体支持的编译器或 IDE 完整列表之外的平台信息,也未提供使用效果或性能保证数据,这些内容暂未提供。