Question Bank
按知识、方向与难度筛选;每道题都有分层回答和工程追问。
FromISR API 在解除更高优先级任务阻塞时会把该标志置为 pdTRUE;ISR 结束前应通过端口宏请求上下文切换,让更高优先级任务立即运行。标志应先初始化为 pdFALSE,并可被多个 API 累积置真。
Idle 任务在没有其他就绪任务时运行,可用于低优先级清理、空闲计数和进入低功耗,但 Hook 不能阻塞。无条件喂狗只能证明 Idle 得到调度,未必证明所有关键任务健康。
更高 Tick 提高基于 Tick 的延时分辨率,却增加中断和调度开销,仍不能保证更低业务延迟。Tickless Idle 在预期空闲期停止周期 Tick,用低功耗定时源一次唤醒并补偿经过的 Tick。
必须保存足以让任务恢复后像从未离开一样继续执行的寄存器状态,包括栈指针、被调用者保存寄存器和必要控制状态;异常硬件可能自动保存一部分,端口汇编保存剩余部分。FPU 状态可按需处理。
优先级应由响应时间、截止期、周期和阻塞分析决定,而不是职位或模块名称。先识别硬实时链路和中断到任务路径,估算 WCET 与共享资源阻塞,再用压力测试和 Trace 验证。