嵌入式 OS 与调度
默认使用中文回答和生成说明。仅在用户明确要求英文,或项目注释/接口规范要求英文时使用英文。
使用此 skill 处理 RTOS 或裸机调度工作。实现细节结合 c99-standard-c,评审任务结合 review。
工作流程
- 识别执行模型:裸机 superloop、协作式调度器、抢占式 RTOS、SMP 或 ISR/任务混合设计。
- 梳理任务、优先级、周期、deadline、共享资源、队列、定时器和 ISR handoff。
- 修改代码前先定义所有权和同步策略。
- 明确阻塞行为:超时、失败处理和安全状态响应。
- 验证栈使用、延迟、最坏执行时间、队列深度和启动/关闭顺序。
检查项
- 安全、通信或控制路径中避免无界等待。
- 使用优先级继承或设计调整防止优先级反转。
- 不在 ISR 上下文调用非 ISR-safe 的 RTOS API。
volatile只表示可见性,不等于互斥。- 栈大小基于证据:map 文件、水位检测、trace 或最坏情况分析。
- 对 superloop,每个 step 必须有界,并说明时序假设。