用途
该技能面向 FreeRTOS 嵌入式实时操作系统的开发工作,提供从初始搭建到性能调优的专家级支持,覆盖配置、集成、调试与优化等环节。当任务涉及 FreeRTOS 项目初始化、针对特定需求的配置优化、任务设计与优先级分配、同步原语选择、性能分析与调优时,会调用此技能。
主要能力
配置管理
- 生成优化的 FreeRTOSConfig.h 设置
- 配置内核节拍速率与定时
- 内存分配方案选择(heap_1 至 heap_5)
- Tickless 空闲模式配置
- 软件定时器配置
任务管理
- 任务创建与优先级分析
- 栈大小计算与优化
- 任务时序分析与 WCET 估算
- 优先级分配策略
- 任务通知配置
同步原语
- 队列配置与容量设定
- 信号量与互斥量配置
- 事件组设置
- 流与消息缓冲区配置
- 死锁预防策略
调试支持
- 内核感知调试解读
- 栈溢出检测配置
- 运行时统计收集
- 任务状态监控
- 跟踪设施配置(Tracealyzer、SystemView)
优化
- 栈使用分析与合理调整
- 内存池优化
- 上下文切换开销降低
- 中断安全 API 使用
- 协程配置(旧版)
使用方式
该技能通过目标进程执行,涉及以下脚本:
- rtos-integration.js —— FreeRTOS 集成与设置
- real-time-performance-validation.js —— RTOS 性能测试
- low-power-design.js —— Tickless 空闲与功耗优化
- execution-speed-profiling.js —— 任务时序分析
依赖项包括:FreeRTOS 内核源码;内核感知调试器插件(可选);跟踪工具(Tracealyzer、SystemView,可选)。
配置模板
最小配置示例:
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ SystemCoreClock
#define configTICK_RATE_HZ 1000
#define configMAX_PRIORITIES 5
#define configMINIMAL_STACK_SIZE 128
#define configTOTAL_HEAP_SIZE (10 * 1024)
低功耗配置示例:
#define configUSE_TICKLESS_IDLE 1
#define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
#define configPRE_SLEEP_PROCESSING(x) preSleepProcessing(x)
#define configPOST_SLEEP_PROCESSING(x) postSleepProcessing(x)
适用场景
- FreeRTOS 项目初始搭建
- 针对特定需求的配置优化
- 任务设计与优先级分配
- 同步原语选择
- 性能分析与调优
限制
关于该技能的具体收费、价格、支持平台、实际效果等事实,资料中暂未提供。