★ 精华
精确测量任务切换耗时,推荐使用硬件定时器(如DWT->CYCCNT)在调度器钩子(如vTaskSwitchContext)中打点,记录切换前后时间戳,注意关闭中断以避免干扰。对于优先级反转,隐蔽场景常涉及互斥量嵌套、中断中释放信号量或优先级继承未触发。建议:1) 使用静态分析工具(如FreeRTOS+Trace)跟踪任务状态;2) 在关键临界区添加日志,记录任务优先级变化;3) 模拟高优先级任务被阻塞时,检查低优先级任务是否持有互斥量且被中优先级抢占。实操中,可人为注入延迟或使用优先级继承机制(如互斥量)来暴露问题。
蒋琴FPGA:我们试过类似的,最后发现是上拉电阻阻值不对,换 4.7K 就好了。