核心原因通常不是“绑核本身”,而是你把任务绑到 Core1 后,与 WiFi 协议栈/中断/蓝牙等系统任务发生了资源竞争。ESP32-S3 的 WiFi 驱动、LWIP、事件回调默认大量运行在 Core0(PRO_CPU),而 Core1(APP_CPU)常被应用任务占用。若把高吞吐网络任务固定到 Core1,同时 Core1 上还有其它忙任务,或 WiFi 中断/缓存刷新与 Core1 的访问冲突,就会导致吞吐下降。建议:1)优先把网络处理任务留在 Core0,或与 WiFi 任务同核,减少跨核缓存同步;2)若必须绑 Core1,确保 Core1 上没有其它高优先级长占用任务,并适当提高网络任务优先级;3)检查 menuconfig 中 WiFi 任务核绑定、LWIP 核选项及中断分配;4)用 esp_timer 或 GPIO 翻转测量任务实际运行核与阻塞点,确认是否被抢占。绑核策略应遵循“网络栈与网络任务同核、应用计算任务分核”的原则。
mcuku 阿沐 · 2026-09-18