【ESP32-S3开发板】ESP-IDF 编译报错 Building for target esp32、烧录报 This chip is ESP32-S3 not ESP32 目标芯片被改回 ESP32 的排查与解决

:backhand_index_pointing_down: 本篇主角长这样

适用于产品:ESP32-S3开发板
涉及模块:ESP32-S3芯片 / VSCode / ESP-IDF

一、问题描述

VS Code 中用 ESP-IDF 编译 ESP32-S3 工程,终端日志却出现:

Building for target esp32

明明在 idf.py set-target esp32s3 时选的是 S3,编译却按 ESP32 进行;烧录时进一步报错:

A fatal error occurred: This chip is ESP32-S3 not ESP32. Wrong --chip argument?

即编译目标与烧录参数都被错误设定为 ESP32。

二、问题说明

Building for target esp32 在配置阶段打印,编译还没开始,说明是目标芯片配置错误,与代码无关;编译和烧录共用同一配置,所以两处同时报错。常见原因:

  1. set-target 未生效:执行失败或被其他配置覆盖。

  2. 构建缓存混乱:旧 build 里 IDF_TARGET 仍是 esp32。

  3. sdkconfig.defaults 硬编码 CONFIG_IDF_TARGET="esp32",每次生成配置都改回 ESP32。

三、解决办法

正常情况只需完成第 1 步:在独立终端把目标切换为 esp32s3,确认日志变为 Building for target esp32s3 后重新编译即可。切换不成功时,再按后续步骤逐项排查。

1、用独立 CMD 终端切换目标

(1)打开 ESP-IDF 专用 CMD 终端(开始菜单中的 ESP-IDF Command Prompt)。


(2)进入工程目录,执行:

idf.py set-target esp32s3

(3)终端打印 Target set to 'esp32s3'、编译日志变为 Building for target esp32s3, 状态栏芯片显示为 esp32s3,即切换成功,直接重新编译烧录即可。

2、仍未解决时继续排查

如果第 1 步后仍出现 Building for target esp32 或 Wrong --chip argument,按以下顺序逐项检查。

(1)删除 build 文件夹清缓存

关闭 VS Code,只删工程目录下的 build 文件夹(不删 sdkconfig / sdkconfig.defaults),重开工程后再次执行 idf.py set-target esp32s3。

(2)检查 sdkconfig.defaults

查找 CONFIG_IDF_TARGET="esp32",有则删除该行保存,再执行 set-target esp32s3 编译。

(3)烧录前确认芯片

执行 esptool.py --port COMx chip_id(COMx 换实际串口),输出应为 Chip is ESP32-S3。

若探测为 ESP32-S3 但 idf.py flash 仍报 Wrong --chip argument,继续第(4)项。

(4)清除 VS Code 插件缓存

Ctrl+Shift+P 执行 ESP-IDF: Full Clean,删 build,重开工程后在底部状态栏手动选 esp32s3 再编译烧录。

四、资源下载

若你的资料包丢失,可通过以下途径获取:

  • :globe_with_meridians: 幻尔科技官网在线教程: https://www.hiwonder.com.cn/

  • :speech_balloon: 人工技术支持: 联系你购买设备的店铺客服(淘宝/京东/天猫/官网客服),提供订单号即可免费领取最新版本的资料与驱动。