文档说明

文档目的

基于 Windows 系统搭建 ESP-IDF v5.3 官方开发环境,完整支持 ESP32 / ESP32-S3(N16R8)芯片工程创建、配置、编译、烧录、串口监控与 JTAG 断点调试,适配 16MB Flash、8MB PSRAM 硬件模组。

适用对象

ESP32-S3 硬件开发工程师、嵌入式新手、上位机协同开发人员

硬件适配

ESP32-S3-N16R8(16MB SPI Flash + 8MB Octal PSRAM)

软件版本

ESP-IDF v5.3;VS Code;Windows 10/11

文档目的:windows完整搭建 ESP‑IDF 官方开发环境,支持 ESP32/ESP32‑S3 等系列芯片编译、烧录、调试。支持系统**

1.ESPIDF安装

1.1 下载安装包

ESP‑IDF 官方一键安装工具(推荐新手)

官网地址:https://dl.espressif.com/dl/esp-idf/ 选择 在线安装包。

1.2 运行安装程序

  • 勾选下载 GitPythonCMakeNinja(工具链全部自动安装,不需要本地提前装)

  • 选择安装路径:路径不要有中文、空格、特殊字符,示例:D:\esp\esp-idf

  • 选择版本:v5.3 稳定版

  • 等待工具链、源码全部下载完成。

1.3 启动编译终端

桌面生成快捷方式:ESP-IDF 5.3 PowerShell

2. VSCode + ESP‑IDF 插件配置

2.1 VSCode 安装插件

插件市场搜索:Espressif IDF,安装扩展;

2.2 插件配置

  1. Ctrl+Shift+P 输入 ESP‑IDF: Configure ESP‑IDF extension

  2. 选择 Use existing ESP‑IDF

  3. 指定 esp‑idf 源码路径,工具路径会自动识别。

  4. 保存配置,重启 VSCode。

2.3 创建项目

  1. ctrl+shift+p打开命令面板;

  2. 输入新建项目;

  3. 选择ESPIDF版本:

4.选择工程模板;

5.编辑工程信息:

6.保存,工程创建完成;

2.4 修改配置

  1. 修改CPU主频;240mHZ;

  2. 修改flash类型和频率;

  3. 修改PSRAM;(可不做)

  4. 配置FreeRTOS;分频值;(可不做)

  5. 配置flash分区表;

备注:分区表的作用:.Flash 大小不一样,必须重新切分

ESP32S3是16MB Flash,默认是 4MB 分区表:

  • 只会使用前面 4MB,后面 12MB Flash 完全浪费;

  • 你想建大文件系统、存日志、存图片就没有空间。

分区作用重要性
nvs非易失存储,保存用户配置、WiFi 密码⭐⭐⭐⭐⭐
phy_initWiFi 蓝牙射频校准参数,出厂写入⭐⭐⭐⭐⭐
factory / ota_0ota_1应用程序固件分区,运行你的代码⭐⭐⭐⭐⭐
spiffs/fat文件系统,存放网页、资源文件按需使用

分区表:

 # ESP32-S3 N16R8 16MB Flash分区表
 # Name,   Type, SubType, Offset,    Size,     
 nvs,      data, nvs,     0x9000,    0x6000,
 phy_init, data, phy,     0xf000,    0x1000,
 factory,  app,  factory, 0x10000,   0x1f0000,
 vfs,      data, fat,     0x200000,  0xa00000,
 storage,  data, spiffs,  0xc00000,  0x400000,

2.5 编译

示例代码:

 #include <stdio.h>
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
 ​
 void app_main(void)
 {
     while(1)
     {
         vTaskDelay(pdMS_TO_TICKS(1000));
         printf("hello\r\n");
     }
 }
  1. 终端命令(ESP-IDF 专用 PowerShell)

 idf.py build
  1. VS Code 图形按钮:侧边栏 ESP-IDF 插件面板,点击🔨 Build 按钮

编译成功:

2.6 烧录

  1. 终端命令(COMx 替换为设备管理器实际串口,串口编号字母必须大写,例 COM3、COM10,禁止 com10)

 idf.py -p COM3 flash
  1. VS Code 图形按钮:ESP-IDF 面板点击⚡ Flash 按钮

烧录成功:

注意:

修改分区表、Flash 大小、PSRAM 等底层配置后,建议先全擦除再烧录:

 idf.py -p COM3 erase-flash
 idf.py -p COM3 flash

2.7 监视

仅用于打印程序串口日志,不支持断点调试、变量查看

两种启动方式

  1. 终端命令

 idf.py -p COM3 monitor
  1. VS Code 图形按钮:ESP-IDF 面板点击🖥️ Monitor 按钮

串口输出日志:

2.8 调试

调试失败,VSCODE报错Can't perform JTAG flash, because OpenOCD server is not running!

原因:USB JTAG 调试器缺少 WinUSB 驱动,OpenOCD 服务无法识别硬件。

  1. 下载驱动: Zadig - USB driver installation made easy

  1. 修改驱动

先加载所有驱动

在这里插入图片描述

安装驱动1

安装驱动2(好像可以跳过驱动2安装)

安装驱动3

驱动下载成功后,重启VSCODE,直接点启动调试 ,添加断点,调试成功:

--- > **参考资料 & 文章来源** >

【esp32使用jtag下载和调试 Can‘t perform JTAG flash, because OpenOCD server is not running!】_vscode_啊哈的哲学路途-AI硬件创业社区

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐