ESP32S3入门之环境搭建
一、ESP-IDF的下载和安装
ESP-IDF是乐鑫为ESP系列芯片推出的一款自给自足的SDK物联网开发框架。
ESP-IDF开发方式:
1.命令式开发
缺少图形化、过程繁琐、配置复杂
2. 集成开发环境开发
具备图形化、过程简单、配置可视化,常用的有Espressif-IDE、VS Code、Eclipse
ESP-IDE下载
登录乐鑫官网,https://www.espressif.com/zh-hans ,在官网首页选择 SDK-->ESP-IDF

在跳转页面下拉,找到 相关资源 --> 入门指南 ,点击跳转

在入门指南页面选择开发板对应的芯片,例如:我的开发板是ESP32-S3的芯片,就点击ESP32-S3这个选项

然后在跳转界面,选择 快速入门 --> 安装 --> 手动安装 ,根据你自己的电脑系统,选择相应的下载选项,例如:windows系统就选择 Windows Installer 这个选项

找到 ESP-IDF 工具安装器,点击跳转到下载页面

在下载页面选择其中一个ESP-IDF版本下载,点击对应的选项即可

下载好安装包后,双击进行安装
![]()
选择安装语言,简体中文,点击确定

选择 我同意此协议,点击下一步

启用长路径,点击应用修复

修复完成,点击下一步

点击浏览,选择安装位置,然后点击下一步

选择需要安装的组件,这里根据需要选择,否则就按默认设置,直接点击下一步

点击安装

点击完成

最终会安装如下几个程序

ESP-IDF项目开发命令
1.创建工程
新建一个文件夹,命名为“1_test”

打开 ESP-IDF PowerShell工具

找到1_test文件夹的路径,比如我的是:E:\ESP32\1_test,输入 " cd E:\ESP32\1_test "这个指令
![]()
在当前路径下新建一个led的工程,输入指令" idf.py create-project led "

2.创建新组件
进入刚刚我们创建的工程,输入指令 " cd led "
![]()
创建名称为led的组件,输入指令" idf.py create-component led "

在led这个组件目录下,就会生成如下文件

3.设置目标芯片
ESP-IDF支持多款乐鑫芯片,所以我们要根据自己的开发板,设置相对应的芯片,比如我使用的芯片是ESP32-S3,则输入指令" idf.py set-target esp32s3",同时会执行编译过程,生成build目录,该目录下有可烧录到开发板的可执行文件
![]()
成功后,会输出如下信息:
![]()
4.配置项目,设置芯片的FLASH大小等参数
输入指令" idf.py menuconfig ",这个指令会启动一个文本用户界面,允许开发者配置ESP32芯片的各种选项,使用键盘的“上下左右”按键,可以进行光标的移动,按ENTER回车键,可实现选项的选择和确认;最后设置完毕,按ESC键保存退出。

5. 编译工程
输入" idf.py build "指令,编译当前工程,生成可执行文件。

6. 下载代码 (下载代码前,一定要完成项目编译)
输入 "idf.py -p COM3 flash" 指令将编译好的可执行文件烧录到ESP32-S3芯片中。其中端口号COM要根据开发板连接上电脑后确认,比如我当前使用的COM口显示的是COM3,COM口的确认到设备管理器中查看。

7. 监控项目
输入 "idf.py monitor"指令,监控当前项目。监控之前必须保证电脑已经安装了USB转串口驱动程序,并且开发板连接上电脑。
8. 清除编译文件
-
"idf.py clean" 指令主要用于清理构建目录中的输出文件,他会删除build文件夹下的某些文件,但不会删除CMake的配置输出和相关文件,通常用于在不需要更改项目配置的情况下。
-
"idf.py fullclean" 指令会删除build目录下的所有内容,包括所有的CMake配置输出文件。
对于不习惯命令行的形式进行开发的人员,可以使用VS Code 或 Espressif-IDE 集成开发环境进行开发。
二、VS Code 环境搭建
VS Code下载安装
浏览器搜索进入VS Code官网,https://code.visualstudio.com/

点击Download for Windows,下载安装包

下载完成后,双击这个安装包应用程序
![]()
选择“我同意此协议”,点击下一步

选择安装位置,点击浏览,根据需要选择一个安装目录,然后点击下一步

选择开始菜单文件夹,不需要设置,直接点击下一步

将所有选项都打勾,点击下一步

点击安装

最后点击完成,默认将运行VS Code

默认情况下是英文菜单界面,点击扩展,下载中文插件,将界面改成中文

在搜索框输入chinese,选择搜索结果中的中文简体插件,点击 Install 安装

安装好后,右下角会跳出提示信息,让我们选择语言并重启VS code,点击Change Language and Restart

重启后可以看到,VS Code已经变成中文界面了

重复之前搜索插件的步骤,依次安装 C/C++、C/C++ Extension Pack、C/C++ Themes、CMake Tools这4个和C语言及CMake编译相关的插件。

和下载安装中文简体插件步骤一样,点击扩展,搜索安装ESP-IDF插件

点击信任发布者和安装,等待安装完成

安装完成后,键盘按下“ctrl + shift + p”,跳出命令窗口,在窗口中输入 “configure ESP-IDF Externsion”,按回车ENTER键配置ESP-IDF插件

点击 ADVANCED选项

选择Espressif服务器为本地,ESP-IDF版本选择从系统中查找,因为我们之前已经在电脑安装过了ESP-IDF

ESP-IDF的安装路径和ESP-IDF Tools的安装路径如下所示,根据自己之前安装ESP-IDF的目录去查找
E:\software\ESP32-IDF\Espressif\frameworks\esp-idf-v5.3.1
E:\software\ESP32-IDF\Espressif\frameworks\esp-idf-v5.3.1\tools
点击Configure Tools,开始配置

ESP-IDF Tools选择 Download ESP-IDF Tools,点击Download Tools,当网络有波动时,可能会导致python环境安装失败,因为python镜像源在国外,解决办法是挂梯子执行这一步,或者更换国内镜像。

配置成功后,会出现如下界面,到此整个开发环境搭建成功

VS Code工程创建
点击ESP-IDF资源管理器的图标,会弹出ESP-IDF Welcome的界面,在此界面中点击Show examples,查看官方示例工程

这个时候,在命令窗口会提示,选择哪个版本的ESP-IDF开发框架,我们选择自己安装的那个版本就行

在ESP-IDF 示例界面我们选择 sample_project这个例程

然后点击 Select location for create sample_project project 选项,在本地创建工程

选择一个目录保存工程,点击Select Folder for New Projec

这个时候,可能会提示你缺少 compile_commands.json文件,我们点击 生成compile_commands.json

生成成功后,我们就可以编辑我们的工程文件了,在左侧菜单栏列出了当前工程的所有文件

build目录保存的是当前工程的编译文件

main目录下包含两个子文件,main.c和CMakeLists.txt
main.c是我们的主函数文件,在这个文件我们可以编写一些自己的函数

CMakeLists.txt文件,这个里面是用来添加源文件路径的,本工程里面只有一个 c 文件,所以只有一个 main.c。如果工程中需要再添加一个 c 文件,就可以在这里添加新的 c 文件的名称。一般情况下,当你在工程中新建一个 c 文件后,这里会自动把你新建的 c 文件添加进入,如果没有自动添加进入,手动添加即可

在上一级目录中,还有一个CMakeLists.txt文件,文件中#符号后面是注释,不参与编译。
这个文件第 5 行,指定 CMake 最小版本。ESP32 程序使用 CMake 编译,CMake 是一款跨平台的编译工具。
第 7 行,用来包含 IDF 的路径。
第 8 行的 project(main),括号里面的名称,我们叫做工程名称,这里面的名称,决定了编译后的 bin 文件的名称,比如现在编译后的 bin 文件名称就是 main.bin 文件,如果你改成了 project(xxx),编译后的名称就是 xxx.bin。

编译和下载
在 VSCode 左下角,有一些选项需要配置,如下图所示。
![]()
第 1 个图标,可以配置需要使用的 IDF 版本号,点击图标,在 VSCode 软件中间最上方会出现可选的 IDF 版本号,如下图所示。如果你只安装了一个版本,就不用配置了。

第 2 个五角星图标是烧录方式的选择。点击图标,在 VSCode 软件中间最上方会出现可选的三种烧录方式,一般我们选择串口烧录UART。

第3个图标是串口号的选择。点击图标,在 VSCode 软件中间最上方会出现可选的串口号。在选择串口号之前,必须要先把开发板插到电脑上。没插入的话,它会提示串口找不到

第 4 个配置图标是目标芯片的选择。点击图标,在 VSCode 软件中间最上方,首先会出现工程路径,点击选择,然后就会出现可选的芯片型号,比如我们的开发板使用的是ESP32S3的芯片,就选择 esp32s3。

点击 esp32s3 之后,又会弹出下载方式的选择,这里出现三种方式,第一种是使用内置 USB-JTAG,第二种是使用ESP-PROG ,第三种是选择 USB 转串口,这里我们选择第三种。

第 5 个齿轮图标是 menuconfig 图标,点击图标会打开 menuconfig,如下图所示。配置 FLASH 芯片大小为 16MB 后(开发板上使用的 FLASH 大小是 16MB),点击“保存”图标保存

menuconfig 配置完成后,会生成一个sdkconfig.old文件,这个其实是刚才设置目标芯片生成的 sdkconfig 文件,最新的配置,已经更新到了现在的sdkconfig文件里面。以后每次修改 menuconfig,都会更新 sdfconfig 文件,同时把之前的配置更新到 sdkconfig.old,起到备份作用。

第 6 个垃圾桶形象图标,用来删除编译过程中形成的文件,也就是删除 build 文件夹。
第 7 个扳手图标是编译按钮,点击这个按钮,就可以开始编译。
第 8 个闪电图标是下载按钮,点击这个按钮,可以下载编译好的程序到 ESP32 开发板。
第 9 个显示器图标是终端观察窗口,下载完程序以后,我们可以点击这个按钮,观察单片机的运行状态,这个其实就是一个串口终端,程序运行过程中,会使用串口发送一些信息,在这个终端就可以看到。
第 10 个三角形图标是调试按钮
第 11 个火焰图标是编译、下载、终端的综合按钮,相当于是依次点击了上面讲的扳手、闪电、显示器按钮。点击一下,会按照顺序完成编译、下载、打开终端。
