ESP32------开发环境配置(VS Code + ESP-IDF )

📅 2026/8/8 7:26:28
ESP32------开发环境配置(VS Code + ESP-IDF )
文章目录前言一、ESP32-S3、开发板与 ESP-IDF 的关系二、为什么选择 ESP32-S3 VS Code ESP-IDF三、安装开发工具1、安装VScode1Chinese (Simplified) Language Pack for Visual Studio Code2C/C3ESP-IDF2、安装ESP-IDF1打开ESP-IDF安装管理器2下载离线安装包。3新建工程测试3、安装git1git安装2git 使用前言本专栏将以 ESP32-S3 VS Code ESP-IDF 为主要开发组合记录我从零开始学习嵌入式开发的过程。第一篇文章的目标不是马上完成复杂功能而是先搭建一套稳定、可复用的开发环境为后续学习 GPIO、、Wi-Fi、蓝牙、FreeRTOS、多任务以及屏幕、传感器等外设打下基础。一、ESP32-S3、开发板与 ESP-IDF 的关系在刚接触 ESP32 时常常容易把“芯片”“开发板”和“开发框架”混为一谈。实际上它们分别处于不同层次。1、ESP32-S3核心芯片ESP32-S3 是乐鑫推出的一款高性能 Wi-Fi 蓝牙 SoC系统级芯片。它具有双核 Xtensa LX7 处理器、Wi-Fi、Bluetooth LE、丰富的 GPIO以及 UART、I2C、SPI、ADC、PWM 等常见外设接口适合用于物联网设备、传感器采集、智能家居、显示终端和轻量级边缘 AI 等场景。2、ESP32-S3 开发板方便实验的硬件载体开发板是围绕 ESP32-S3 芯片设计的一块电路板通常集成了 USB 接口、供电电路、下载电路、复位按键、Boot 按键以及必要的引脚排针。例如一块 ESP32-S3 开发板可能包含ESP32-S3 模组或裸芯片Type-C 或 Micro-USB 接口USB 转串口芯片或原生 USB 下载接口3.3V 电源电路BOOT、RESET 按键GPIO 扩展引脚板载 LED部分型号还会集成摄像头接口、屏幕接口、TF 卡接口或以太网接口。因此开发板可以理解为“让 ESP32-S3 芯片便于供电、连接电脑、烧录程序和外接模块的实验平台”。不同开发板的 Flash、PSRAM、USB 接口和板载外设可能不同因此在后续使用 menuconfig 配置 Flash、PSRAM 或外设时需要以自己手中的实际开发板参数为准。淘宝上卖ESP32开发板的很多比如正点原子、宸芯等等ESP32-S3 本身只是芯片。它负责执行程序、控制引脚、处理通信数据但不能直接方便地插到电脑上进行开发。3. ESP-IDFESP32 的官方开发框架ESP-IDF 全称为 Espressif IoT Development Framework是乐鑫官方提供的 ESP32 系列开发框架。它不仅包含头文件和函数库还包含编译工具链、构建系统、烧录工具、示例工程、驱动组件和配置工具等。ESP-IDF 基于 FreeRTOS支持 C/C 开发并采用 CMake 进行工程构建内部包含 Wi-Fi、蓝牙、GPIO、UART、SPI、I2C、ADC、NVS、文件系统、网络协议栈等丰富组件。二、为什么选择 ESP32-S3 VS Code ESP-IDF选择这套组合是为了从一开始就使用更接近实际项目的开发方式同时借助 AI 提高学习和排错效率。ESP32-S3 功能丰富支持 Wi-Fi、蓝牙和多种外设接口适合后续学习传感器、屏幕、网络通信等内容另一个方面很大方面是我买的开发板上的芯片是SP32-S3。ESP-IDF是官方框架可以更完整地使用 ESP32-S3 的功能并学习 FreeRTOS、Wi-Fi、GPIO、I2C、SPI 等核心知识。VSCode 开发方便可完成代码编写、工程管理、编译、烧录、串口监视等操作。 VS Code 可通过 Copilot等 AI 功能适合在学习阶段快速理解陌生代码和定位问题。适合长期学习ESP-IDF 使用组件化工程结构后续项目更容易扩展和维护。三、安装开发工具1、安装VScode可以直接从官网下载https://code.visualstudio.com/也可以在应用商店里直接下载这个没什么坑下载时直接next就行。安装完后需要安装几个插件1Chinese (Simplified) Language Pack for Visual Studio Code简体中文语言包插件安装后需要重启VScode才会生效。2C/C为 C/C 提供智能提示、调试和代码浏览功能。3ESP-IDF这一步是关键下面一小节单独描述。2、安装ESP-IDF1打开ESP-IDF安装管理器安装完后在侧边栏会出现这个标志。按照下述步骤点击“打开 ESP-IDF安装管理器”后会弹出“ ESP-IDF 安装管理器ESP-IDF Installation Manager简称 EIM”。点击“开始安装”。点击后会有以下几个安装方式本次采用的是“离线安装”经调研该安装方式安装成功几率较大点击“浏览存档文件”需要选择导入的文件需要到。需要首先将ESP-IDF的安装包下载下来。2下载离线安装包。点击“Espressif Download Portal”就会跳转到下载ESP-IDF离线安装包的下载界面。目前ESP-IDF离线安装包也在不断更新博主目前使用的是ESP-IDF_v5.5.4版本不同版本操作上可能不才一样但是代码实现原理上是一样的5.5.x版本之间差异较小。提示本文目标是完成 ESP32-S3 的开发环境安装、创建第一个工程。建议全程使用英文路径避免中文、空格及特殊符号导致工具链或脚本异常下载完成后在“离线安装”里导入已经下载的文件。选择要安装的路径单击“开始安装”安装需要一定时间。点击“完成安装”。3新建工程测试安装完成后在VScode中点击“先项目向导”图中1稍等片刻后会弹出选择哪个ESP-IDF版本图中3我这里是“使用 ESP-IDF F:\ESP32_IDF\v5.5.4\esp-idf ESP-IDF v5.5.4”点击选中。点击后会弹出“新建项目窗口”按照下图箭头点击“sample_project”会弹出蓝框“Create project using template sample_project”然后点击Create project using template sample_project。点击后会有“新建项目”目录完成“项目名称”、“项目存放路径”、“选择芯片”。剩下的默认即可点击Create Project。再次点击Open Project。这样便创建好了一个基础工程。创建好工程以后可以点击“编译”按钮看能否编译成功。名称类型作用说明什么情况下用到重要度.devcontainer文件夹开发容器配置Docker 相关用于搭建统一的 ESP-IDF 开发环境团队协作、需要 Docker 统一环境时个人开发一般用不到.vscode文件夹VS Code 编辑器配置包含头文件路径、调试配置、编译任务等调整编辑器智能提示、调试配置时一般自动生成无需手动改⭐build文件夹编译输出目录自动生成存放 .o、.bin、.elf 等所有编译产物编译后自动生成出现编译异常时可 Full Clean彻底清理 删除重建⭐main文件夹主代码目录存放 main.c含程序入口 app_main()和其 CMakeLists.txt编写代码时最常用⭐⭐⭐.clangd文件Clangd 语言服务器配置用于代码补全、跳转、智能提示使用 Clangd 增强代码提示时不影响程序运行.gitignore文件Git 忽略规则指定哪些文件不纳入版本管理如 build/使用 Git 进行版本管理时CMakeLists.txt文件顶层构建脚本检查 CMake 版本、加载 ESP-IDF 构建系统、声明项目名修改项目名或引入额外组件时一般无需改动⭐⭐sdkconfig文件项目配置文件自动生成保存所有 menuconfig 设置Flash 大小、WiFi、蓝牙、日志级别等通过 menuconfig 修改配置时自动更新不建议手动编辑⭐⭐3、安装git1git安装在安装完离线安装包后会生成一个文件夹在该文件夹中有一个components文件该components 文件是 ESP-IDF 框架的核心目录里面存放着乐鑫官方写好的各种功能模块组件。 每个子文件夹就是一个组件相当于一个个「现成的轮子」涵盖了 ESP32 开发所需的绝大部分功能在代码中 #include 对应头文件即可使用无需复制到项目里。如果一不消息修改了里面的文件怎么恢复原样这里就不得不提一下Git。Git 是一款版本控制工具它能记录项目中每个文件的历史状态。对于 ESP-IDF 来说使用 Git 有以下好处优势说明一键还原误改、误删官方文件后可一条命令恢复到原始版本版本管理可在不同 ESP-IDF 版本如 v5.5.4、v5.4之间切换官方分发方式ESP-IDF 官方就是通过 Git 仓库发布和更新的追踪改动随时查看哪些文件被修改过做到心中有数 正因为 ESP-IDF 是一个 Git 仓库所以改错的文件都能被追溯并还原。git的安装过程因为有很多文章都有详细描述此处就不再赘述附上一篇参考文章Git安装步骤2git 使用使用举例如果我把components中的esp_driver_gpio文件删掉此时已将显示出该文件夹内有被修改过的文件红色感叹号。打开components文件右击鼠标点击“Open Git Bash here/Git Bash here”。执行git checkout -- .这会将当前 ESP-IDF 仓库中所有被删除或修改的已追踪文件恢复到当前版本状态注意标点符号别落下。ESP-IDF 常用 Git 操作需求命令查看当前状态git status查看 ESP-IDF 版本git describe --tags查看最近提交记录git log --oneline -n 10查看当前分支git branch查看远程仓库地址git remote -v查看文件改动内容git diff拉取远程更新git pull更新子模块git submodule update --init --recursive克隆 ESP-IDF含子模块git clone --recursive https://github.com/espressif/esp-idf.git切换指定 ESP-IDF 版本git checkout v5.5.4切换版本后更新子模块git submodule update --init --recursive恢复单个误删或误改文件git restore 文件路径或git checkout -- 文件路径恢复全部误删或误改文件git restore .或git checkout -- .取消暂存单个文件git restore --staged 文件路径取消全部暂存文件git restore --staged .强制恢复到当前提交状态git reset --hard HEAD预览未跟踪文件删除操作git clean -fdn删除未跟踪文件和目录git clean -fd