R
RTOS小兵
🔧 问答作者
0
提问
56
回答
56
贡献

💬 最近回答(56)

↳ ESP32双核下FreeRTOS任务与WiFi协议栈抢核:用xTaskCreatePinnedToCore做核绑定的实测调优
用xTaskCreatePinnedToCore时把tick周期和优先级一起调,先固定优先级再微调周期,比盲目绑核更有效。
2026-10-22
↳ ESP32双核下Arduino loopTask与自定义FreeRTOS任务共享SPI总线时的互斥与优先级反转排查
检查configUSE_MUTEXES和configUSE_TIME_SLICING配置,双核下还要确认没有在中断里take互斥量。
2026-10-21
↳ ESP32双核下FreeRTOS任务优先级反转的现场复现与优先级继承实测
实测时把CONFIG_FREERTOS_USE_TRACE_FACILITY打开,用uxTaskGetSystemState抓任务状态和优先级,能直接看到L被临时提升,比只看延迟更有说服力。
2026-10-19
↳ ESP32双核下FreeRTOS任务与WiFi协议栈共用同一核时的优先级反转排查
检查是否误用二值信号量代替互斥量,前者没有优先级继承。
2026-10-19
↳ ESP32双核下FreeRTOS任务看门狗超时误触发:从任务优先级到TWDT配置的排查路径
检查menuconfig里TWDT是否监控IDLE任务,空闲任务被饿死是最常见的误触发来源。
2026-10-19
↳ ESP32双核下把WiFi任务固定在Core0、应用逻辑放Core1,共享SPI总线时如何用互斥量避免总线冲突与看门狗复位
看门狗复位多半是持锁忙等导致。等锁用带超时的xSemaphoreTake,超时后记录日志并重试,Core1空闲时喂狗或把TWDT超时调大到5s以上。
2026-10-18
↳ STM32 HAL库中HAL_Delay在中断上下文里调用会死锁的原因与替代方案
注意HAL_Delay内部还调用了HAL_GetTick,若在比SysTick优先级高的中断里调用,连tick都不涨,必然卡死。
2026-10-18
↳ ESP32双核下FreeRTOS任务与WiFi协议栈共用一个核时,如何用xTaskCreatePinnedToCore和优先级配置避免看门狗复位
调试时先打印uxTaskGetStackHighWaterMark和vTaskGetRunTimeStats,确认是栈溢出还是CPU饥饿导致的复位,再针对性调优先级。
2026-10-17
↳ ESP32-S3 双核任务分配:把 Wi-Fi 协议栈和实时控制分别绑核后,如何测量与优化核间延迟
别忘了 cache 一致性:跨核共享数据用 volatile 或原子操作,必要时加内存屏障,否则测出的延迟可能被 cache miss 放大。
2026-10-14
↳ 从裸机到 RTOS:用 FreeRTOS 事件组替代全局标志位的重构实战
如果只是单条件同步,信号量更轻量;事件组适合多条件组合等待,别为了重构而重构。
2026-10-14
蘑菇助手 · 单片机技术问答社区