一、概述

在STM32单片机的开发工作中,我们需要提前搭建可支持代码编写、烧录和调试的开发环境,STM32的开发环境的IDE环境一只需要安装“Keil”即可完成,再辅助一些编辑工具如:“Source Insight”、“Visual Studio Code”等。

ESP32C3-WROOM-02U模组的开发环境有两种:

1、Windows IDF离线开发环境:

就是在Windows系统中安装乐鑫官方提供的IDF工具,该工具集成了编译工程、烧录工程固件和运行监控等功能,进行代码开发的话可以安装编辑工具“Source Insight”、“Visual Studio Code”等。

2、Visual Studio Code 中安装“ESP-IDF EXPLORER”

以Visual Studio Code 为基础安装“ESP-IDF EXPLORER”扩展,在这种方式下可以直接在VSCode中进行代码的编写、编译、烧录和调试,而且还支持Windows、Linux、macOS等系统下的开发,是比较方便的一种方式。

本文章只记录Windows IDF离线开发环境的搭建流程。我选择的是“IDF离线开发环境+VSCode”。

更多的学习可以参考:快速入门 - ESP32-C3 - — ESP-IDF 编程指南 release-v5.0 文档

二、Windows IDF离线开发环境的搭建

1、下载IDF 离线安装包

到乐鑫官方网站下载离线包:https://dl.espressif.cn/dl/esp-idf/

查看esp32内存 esp32 rom大小_开发环境

根据自己的开发WiFi模组选择支持的版本,可以从https://github.com/espressif/esp-idf

的“ESP-IDF 版本和 SoC 兼容性”表参考要下载那个IDF版本:

查看esp32内存 esp32 rom大小_查看esp32内存_02

我的是ESP32C3-WROM-02U,所以可以选择下载“v4.3~v5.1”版本的IDF。

2、IDF 离线安装包安装

点击“esp-idf-tools-setup-offine-5.0.2.exe”进入安装引导

查看esp32内存 esp32 rom大小_Windows_03

选择“简体中文”

查看esp32内存 esp32 rom大小_学习_04

查看esp32内存 esp32 rom大小_查看esp32内存_05

点击“应用修复”

 

查看esp32内存 esp32 rom大小_开发环境_06

 执行完成后,点击“下一步”

查看esp32内存 esp32 rom大小_离线_07

选择安装的路径,可自定义,不要有中文空格之类的,也可以默认安装到C盘

查看esp32内存 esp32 rom大小_离线_08

选择要安装的组件,我这里是全选

查看esp32内存 esp32 rom大小_查看esp32内存_09

查看esp32内存 esp32 rom大小_开发环境_10

核对信息,没问题后就点击“安装”

查看esp32内存 esp32 rom大小_Windows_11

查看esp32内存 esp32 rom大小_学习_12

在安装结束前会提示安装驱动,选择“安装”

 

查看esp32内存 esp32 rom大小_Windows_13

之后安装完成

查看esp32内存 esp32 rom大小_开发环境_14

 点击“完成”会打开两个终端,到这里IDF就安装好了。电脑桌面也会有两个终端的快捷键,我在开发的时候一般使用“PowerShell”这个终端。

查看esp32内存 esp32 rom大小_Windows_15

 三、IDF终端编译、下载“hello_world”例程

在PowerShell终端中

使用‘ls’指令,可以看到在目录:D:/IDF/Espressif/frameworks/esp-idf-v5.0.2中有很多文件,这个就是esp-idf-v5.0.2的工程结构,我们可以使用“examples”中的例程进行开发。

查看esp32内存 esp32 rom大小_开发环境_16

输入指令'cd examples/get-started/hello_world'将位置定位到“hello_world”例程中,

查看esp32内存 esp32 rom大小_Windows_17

接下来就可以编译和将编译的.bin文件下载到WiFi模组中运行了。

输入idf.py set-target esp32c3设置对应WiFi模组型号

查看esp32内存 esp32 rom大小_查看esp32内存_18

有如下提示表示设置成功

查看esp32内存 esp32 rom大小_离线_19

输入 idf.py menuconfig进入配置例程参数

 

查看esp32内存 esp32 rom大小_学习_20

 主要修改的参数是WiFi模组的flash大小

查看esp32内存 esp32 rom大小_学习_21

我用的是4M flash,故如下选择

查看esp32内存 esp32 rom大小_学习_22

设置好后保存、退出,这个时候sdkconfig会更新设置。

 

查看esp32内存 esp32 rom大小_Windows_23

 当我们要将新的功能或者有重大修改的工程(比如自定义了.CSV文件)烧录到WiFi模组时最好是擦除一下flash,保证WiFi模组对flash的分区正确。擦除指令:idf.py -p [port] erase_flash,编译指令:idf.py build

查看esp32内存 esp32 rom大小_离线_24

如出现下图所示内容表示编译成功

查看esp32内存 esp32 rom大小_开发环境_25

输入指令idf.py -p [port] flash就可以将.bin文件下载到WiFi模组中了,如果想要监视运行现象则输入指令idf.py -p [port] flash monitor就可看到运行的日志。

查看esp32内存 esp32 rom大小_查看esp32内存_26

查看esp32内存 esp32 rom大小_开发环境_27

上图可以看到程序打印了“Hello world!”,按组合键 Ctrl+]就可以退出监控台

查看esp32内存 esp32 rom大小_离线_28

 这里使用的是我自己设计的板子,可做开发板,也可以做烧录板,因为是采用烧录探针设计的PCB封装使得WiFi模组可拆卸更换。

 

查看esp32内存 esp32 rom大小_查看esp32内存_29

 板子如下所示,是基于嘉立创EDA设计的,喜欢的朋友可以私信我(或者到我主页的“下载”中的“ESP32C3-WROOM-02U 开发板&烧录板二合一的制板资料”下载)拿Gerber PCB制板文件和BOM,就可以直接在嘉立创免费制版了。原理图和PCB图不打算开放朋友们可以自己设计。

查看esp32内存 esp32 rom大小_查看esp32内存_30

  四、总结

IDF离线开发环境搭建相对简单,不涉及各种环境变量的设置,也不需要其他的依赖,因为它已经集成好了,开发只要专注代码编写和功能开发就好了,实属是不错的。