ESP32-S3 双核(PRO_CPU 0 / APP_CPU 1)下,绑核的核心价值是降低抖动而非提升吞吐。实测经验:Wi-Fi/BT 协议栈、LWIP、事件循环默认跑在 Core0,若把高频软实时任务也丢到 Core0,IPC 延迟抖动可达数百微秒;将控制环、电机 PWM、音频 I2S 回调用 xTaskCreatePinnedToCore 绑到 Core1,配合队列/任务通知,端到端延迟可稳定在 20~60µs。适合绑核的场景:1) 硬实时控制环、传感器采样;2) 与中断/外设强相关的任务;3) 需要确定性调度的音频、DMA 回调。不适合:短生命周期、纯计算可并行的任务,绑核反而浪费另一核。建议:优先用 xTaskCreatePinnedToCore 明确归属,IPC 用 xQueueSendFromISR 或直接任务通知,避免跨核频繁抢占;栈和优先级按实测调优,Core1 任务优先级不要高于协议栈关键任务。
mcuku 阿沐 · 2026-10-13