Windows:ESP-IDF 开发环境配置【保姆级】

物联网开发学习笔记——目录索引

参考官网:ESP-IDF 物联网开发框架 | 乐鑫科技

ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。ESP-IDF 目前已服务支持数以亿计的物联网设备,并已开发构建了多种物联网产品,例如照明、消费电子大小家电、支付终端、工控等各类物联网设备

一、ESP-IDF软件组件和功能

相关资源:

ESP-IDF 入门指南 | 乐鑫科技

ESP-IDF GitHub

ESP-IDF 组件管理工具

二、ESP-IDF开发环境配置

参考:Windows 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 v5.1.1 文档

下载ESP-IDF 工具安装器

点击如下连接:

Windows Installer Download

安装包分Online和Offline:

在线安装与离线安装的区别:

在线安装程序非常小,可以安装 ESP-IDF 的所有版本。在安装过程中,安装程序只下载必要的依赖文件,包括 Git For Windows 安装器。在线安装程序会将下载的文件存储在缓存目录 %userprofile%/espressif 中。

离线安装程序不需要任何网络连接。安装程序中包含了所有需要的依赖文件,包括 Git For Windows 安装器。

在线安装(不推荐,安装太慢)

下载在线安装包esp-idf-tools-setup-online-2.23.exe,并执行

选择安装路径

其他选项默认即可,【Chip Targets】可以根据自己开发板按需安装

中间有一些弹出,直接安装即可。

然后就是漫长的等待下载过程,请耐心等待

离线安装(推荐)

强烈推进使用OffLine方式安装,下载如下软件安装包:espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe

前面和在线安装是一样的,进入如下界面,比较耗时,耐心等待

当看到如下两个命令提示符窗口,恭喜您,安装成功。

 三、开始使用 ESP-IDF 

现在您已经具备了使用 ESP-IDF 的所有条件,接下来将介绍如何开始您的第一个工程。

开始创建工程

 复制一个ESP32 示例程序。您可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。

注意:ESP-IDF 编译系统不支持 ESP-IDF 路径或其工程路径中带有空格。

将 get-started/hello_world 工程复制至您本地的 esp-workspace 目录下:

# 1. 创建esp工作目录esp-workspace
PS D:\>  mkdir esp-workspace
# 2. 进入工作目录esp-workspace
PS D:\> cd esp-workspace
# 3. 拷贝hello_world 示例工程到工作目录esp-workspace
cp -r $IDF_PATH/examples/get-started/hello_world .
PS D:\esp-workspace> cp D:\Espressif\frameworks\esp-idf-v5.0.2\examples\get-started\hello_world\ ./
# 4. 进入目录esp-workspace,看是否拷贝过来
PS D:\esp-workspace> dir
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2023/10/15     21:39                hello_world

实际执行: 

连接设备

现在,请将您的 ESP32 开发板连接到 PC,并查看开发板使用的串口。

假如您不知道如何查看开发板连接的端口号,请看备注查看开发板端口号

配置工程

请进入 hello_world 目录,设置 ESP32 为目标芯片,然后运行工程配置工具 menuconfig

cd hello_world
idf.py set-target esp32
idf.py menuconfig

 实际执行:(我跳过了idf.py menuconfig)

打开一个新工程后,应首先使用 idf.py set-target esp32 设置“目标”芯片。注意,此操作将清除并初始化项目之前的编译和配置(如有)。您也可以直接将“目标”配置为环境变量(此时可跳过该步骤)。更多信息,请见 Select the Target Chip: set-target

正确操作上述步骤后,系统将显示以下菜单:

您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等。hello_world 示例项目会以默认配置运行,因此在这一项目中,可以跳过使用 menuconfig 进行项目配置这一步骤。

编译工程

请使用以下命令,编译烧录工程:

idf.py build

运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成引导加载程序、分区表和应用程序二进制文件。

如果一切正常,编译完成后将生成 .bin 文件。

烧录到开发板

运行以下命令,将刚刚生成的二进制文件烧录至您的 ESP32 开发板:

idf.py -p PORT flash

请将 PORT 替换为 ESP32 开发板的串口名称。如我的开发板是COM3,
我使用如下命令:idf.py -p COM3 flash

烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行。 

串口监视输出log

您可以使用 idf.py -p PORT monitor 命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 PORT 替换为您的串口名称。

对照hello_world_main.c 代码,确认一下串口log打印

#include <stdio.h>
#include <inttypes.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_chip_info.h"
#include "esp_flash.h"

void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    uint32_t flash_size;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU core(s), %s%s%s%s, ",
           CONFIG_IDF_TARGET,
           chip_info.cores,
           (chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "",
           (chip_info.features & CHIP_FEATURE_BT) ? "BT" : "",
           (chip_info.features & CHIP_FEATURE_BLE) ? "BLE" : "",
           (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : "");

    unsigned major_rev = chip_info.revision / 100;
    unsigned minor_rev = chip_info.revision % 100;
    printf("silicon revision v%d.%d, ", major_rev, minor_rev);
    if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) {
        printf("Get flash size failed");
        return;
    }

    printf("%" PRIu32 "MB %s flash\n", flash_size / (uint32_t)(1024 * 1024),
           (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size());

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

看到打印的 “Hello world!” 了。 

 您可使用快捷键 Ctrl+],退出 IDF 串口监视器。

到此,恭喜,您已完成 ESP-IDF开发环境的搭建,并可以开始ESP32的入门学习了!

备注

查看开发板端口号

1. 首先电脑和开发板使用usb数据线相连

 2. 开发板如果没有安装驱动程序,需要下载并安装相应的开发板usb转串口驱动程序

我的esp32开发板使用的是 CP2102 USB 转 UART 

驱动芯片制造商官网下载:CP210x USB 至 UART 桥 VCP 驱动器 - 芯科科技

打开驱动程序

点击【下一步】,驱动程安装完毕

3. 查看开发板连接的端口号

3.1 打开“设备管理器”

打开“设备管理器”有两种方法:

方法1: 电脑开始菜单点击鼠标右键,然后点击【设备管理器】,如下图

方法2:桌面找到【此电脑】/【我的电脑】/【计算机】图标然后鼠标右键,在弹窗中选中【管理】或者【属性】,然后选择【设备管理器】

3.2 查看开发板连接端口,如下图“Silicon Labs CP210x USB to UART Bridge” 后面所显示的COM端口号就是开发板的端口号了。在上图中,开发板连接的端口号是COM3。

注意:您的电脑里所显示的COM端口号与下图显示的会有所不同。请牢记您电脑中的开发板所连接的COM端口号。

串口终端程序

 PuTTY SSH Client是一款非常好用的串口终端程序,既可用于 Windows 也可用于 Linux。

可以快速直观的设置串口参数:波特率 = 115200(需要根据程序修改),数据位 = 8,停止位 = 1,奇偶校验 = N。

物联网开发学习笔记——目录索引_liuzl_2010的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/zsyf33078/article/details/133834893