本章会逐步搭建 ESP-IDF 的开发环境,分为三个小节:
5.1 安装 ESP-IDF 物联网开发框架
5.2 IDF 前端工具
5.3 搭建集成开发环境

5.1 安装 ESP-IDF 物联网开发框架

      为了安装 ESP32的开发环境,前往乐鑫官方的 Windows 安装下载中心下载 ESP32-IDF 安装包,本次安装V5.4.2版本。

        下载成功后, 在安装程序上单击右键选择<以管理员身份运行>运行 esp-idf-tools-setup-offline-5.4.2.exe文件,开始安装:

(1)打开安装程序后选择简体中文安装,如下图所示:

(2)勾选“我同意此协议”,单击下一步,如下图所示:

(3)点击下一步之后,会跳出安装前系统检查界面,如下图所示,如果检查都要正常直接点击下一步,否则看下面注意

注意:

1)安装程序会检查你当前系统有没有打开"长路径支持",因为 GNU 编译器产生的编译文件会有非常深的目录结构,如果不支持长路径,编译可能出现文件不存在,目录不存在等奇怪的错误。这里单击应用修复按钮,可以修复这个问题。 在弹出的确认对话框中,选择是,开始修复。
2)如果修复不成功,一般情况是安装软件打开时没有使用管理员权限打开,可以手动修改注册表来支持长路径:打开注册表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled 设置为 1,如下图所示:

(4)点击下一步进入配置安装路径,如下图所示:

        安装程序默认的安装位置为 C:\Espressif,但这里我是安装在 D 盘的Espressif文件夹下,点击下一步

(5)进入确认安装组件界面,这里全部打勾,然后单击下一步

(6)点击安装,过程时间会稍微长些(5min内),会安装一些模块等

(7)安装完成,点击完成,最终安装完成

        安装成功后,桌面自动生成 ESP-IDF 5.4 PowerShell 和 ESP-IDF 5.4 CMD 命令提示符终端:

  • PowerShell:提供了更强大的脚本和自动化功能,适合需要执行复杂任务或管理复杂环境的用户;
  • CMD:则更适合进行基础的命令行操作和简单的脚本执行。用户可以根据自己的需求和偏好选择使用其中一个工具。

        打开其中一个终端,如果终端提示“idf.py build” 指令时, 说明我们的环境已经安装成功了,如下图所示:

​        在这终端下,我们可以采用命令形式进行配置、编译、链接和构建项目,与Linux 中的开发方式相似。

(8)设置环境变量

        让系统能够找到ESP-IDF 的相关工具和库,进行编译、构建和调试 ESP32 或其他 Espressif 芯片的项目,必须设置 ESP-IDF 的环境变量,设置方法如下:
        按照此过程(此电脑→属性→高级系统→环境变量)打开,如下图所示,修改后点击确定。

        如果 ESP-IDF 库安装成功,则系统自动为我们添加上图中的 IDF_TOOLS_PATH 和IDF_PATH 环境变量,否则手动添加这两个环境变量。

        其他工具安装:

(1)安装 CH340C USB 虚拟串口驱动
        ESP32-S3 的 USB 串口可用于下载程序和 ESP 监控器之间的交互。通过 USB 连接 ESP32-S3开发板,ESP32-S3 开发板的串口信号是通过 CH340C 芯片进行转换,才能与 PC 端进行通信。
        CH340C 芯片能够将 ESP32-S3 的串口信号转换为 USB 信号,并通过 USB 接口与 PC 进行连接。在 PC 端安装相关的串口调试助手软件,再安装 CH340C 芯片的驱动程序,就可以在PC 端实现通过虚拟串口与 ESP32-S3 进行通信了。
        CH340C的官方厂商沁恒提供了该驱动程序的下载选项,您可以前往https://www.wch.cn/沁恒的官方网站下载并安装 CH340C的驱动程序。

​​        打开 CH340C 驱动安装程序后,点击安装程序中的“安装”按钮,若提示“驱动安装成功”,则说明 CH340C 驱动已经安装成功了, 如下图所示。

​        安装完 CH340C 驱动后,使用跳线帽将ESP32-S3 开发板 P4 排针的 U0TX-RXD 和U0RX-TXD 接上, 如下图所示:

​        接下来, 使用 USB 线将开发板 UART 接口与 PC 的 USB 端口相连接即可。此时, PC 端的设备管理器中查看到 CH340C 虚拟出的串口,如下图所示:

        从上图可以看出, CH340C 虚拟出的串口被 PC 分配了 COM3 的端口号。这个端口号用于串口调试助手等上位机确定与之通信的串口端。

        注意:当 CH340C与不同的 PC 连接,甚至是与同一台 PC 的不同 USB 端口连接后,虚拟出的串口被 PC分配到的端口号可能是不同的,实验时检查下以最终分配为准。

        安装完 USB 虚拟串口驱动后,就可以使用串口调试助手,与板卡通过串口进行通信了。

        ESP-IDF的两种开发方式:

        这两种方式分别是命令式开发和基于IDE 集成开发环境下的开发。

5.2 IDF 前端工具

        ESP-IDF 能够通过命令的形式来构建或编译系统,以下是 idf.py 的一些主要功能:
        构建系统:idf.py 是一个构建系统,它使用 CMake 来生成适用于不同目标平台的构建文件。可以使用 idf.py 来构建你的项目,它会处理所有必要的编译和链接步骤。
        菜单配置:idf.py menuconfig 命令提供了一个文本用户界面,用于配置项目的各种选项。可以通过这个界面选择目标硬件、设置编译选项、启用或禁用组件等。
        烧录和调试:idf.py 支持将构建好的二进制文件烧录到目标设备上。可以使用 idf.py -p PORT flash 命令来烧录固件,其中 PORT 是设备的串口或 USB 端口。此外, idf.py 还可以与调试器配合使用,例如 GDB,以便在目标设备上调试代码。
        清理和重新构建: idf.py 提供了清理构建文件的功能,以确保每次构建都是从头开始的。这对于在修改配置或更新源代码后重新构建项目非常有用。
        项目模板和示例:idf.py 通常与 ESP-IDF 提供的项目模板和示例代码一起使用,帮助快速设置和开始项目。
        扩展性: idf.py 是可扩展的,允许开发者添加自定义的构建步骤和脚本。这使得开发者可以根据需要定制构建过程,以满足特定项目的需求。
下面 IDF 前端工具的常用命令:
(1)创建新工程(create-project)
        “idf.py create-project --path <project name>” 是 ESP-IDF 提供的一个命令,用于创建一个新的项目目录结构,并将必要的文件和模板复制到该目录中。目的是帮助开发者快速设置一个新的IoT 项目,而无需手动创建所有必要的文件和目录,下面是这个命令的参数解析和使用方法:
①:参数解析
        --path:指定创建工程的位置(必须在文件夹路径下)。
        <project name>:项目工程名称
②:使用方法
        在桌面新建 test_1 文件夹,用来保存 ESP-IDF 新建的工程,然后打开 ESP-IDF CMD 终端输入“idf.py create-project --path C:\Users\63543\Desktop\MyProject\test_1 led”命令创建项目工程,如下图所示:

        此时桌面会创建 test_1 项目,而工程名称为 led。如下图所示:

        打开main文件夹:

(2)创建新组件(create-component)
        “idf.py create-component <component name>” 创建一个新的组件,包含构建所需的最基本文件集。一般存放第三方组件,如编写的驱动程序等。
        下面是这个命令的参数解析和使用方法:
        ①: 参数解析
                <component name>:组件名称
        ②:使用方法
        首先使用“cd”命令进入新建工程路径,然后在此路径下新建组件文件夹,如下图所示:

        component 文件夹一般用来存储第三方组件或者用户的程序驱动代码。

(3)设置目标芯片
        “idf.py set-target <target>” 命令用于设置工程的目标芯片。由于 ESP-IDF 支持多款乐鑫SoC 芯片,新建工程时默认会选择 ESP32 类型的芯片。因此,如果我们希望创建一个针对ESP32-S3 类型的工程,就必须使用此命令来指定该工程的目标芯片为 ESP32-S3。
        下面是这个命令的参数解析和使用方法。
        ①:参数解析
        < target >:目标芯片,可使用“idf.py --list-targets”命令查看支持的芯片类型。
        ②:使用方法
        首先输入“idf.py --list-targets” 命令查看支持的芯片类型,然后输入“idf.py set-target esp32s3”命令设置工程的目标芯片,如下图所示:

注意: “idf.py set-target”命令将清除构建目录,并从头开始重新生成 sdkconfig 文件。旧的 sdkconfig 文件将保存为 sdkconfig.old。

(4)编译工程
        “idf.py build”命令用来编译当前项目工程。如下图所示:

(5)监控项目
        “idf.py monitor”命令用来监控当前项目。监控之前必须安装 USB 虚拟串口驱动以及开发板上的 USB 串口接入到电脑当中,才能监控当前项目工程。

        注意:请按“Ctrl + ]”快捷键退出监控器。

(6)配置项目
        “idf.py menuconfig” 这个命令会启动一个文本用户界面,允许开发者为他们的 ESP32 或其他 Espressif SoC 芯片系列的项目配置各种选项,如下图所示

(7)下载代码
        “idf.py -p COM4 flash” 这个命令用来把编译出来的可执行文件烧录到 ESP32-S3 芯片当中。
        注意:烧录之前必须调用“idf.py build”命令编译项目工程,编译完成后方能烧录代码。 如下图所示:

        注意:上述 COM4 端口需要根据自己的开发板识别出来的虚拟串口端口。

(8)清除编译文件
        “idf.py clean”和“idf.py fullclean” 是 ESP-IDF(Espressif IoT Development Framework)中用于清理构建目录和输出文件的两个命令,它们的主要区别在于清理的彻底程度和范围。

        ①“idf.py clean”命令:
        清理构建目录中的构建输出文件。它会删除 build 文件夹中的某些文件,但不会删除 CMake 的配置输出和其他相关文件。这意味着下次构建时, CMake 将基于现有的配置信息重新生成所需的构建输出,但不需要从头开始配置整个项目。这通常用于在不需要更改项目配置的情况下,重新构建项目以解决可能存在的构建问题或更新代码。

        ②“idf.py fullclean”命令:
        这个命令则更为彻底,它会删除整个 build 目录下的所有内容,包括所有的 CMake 配置输出文件。这意味着下次构建项目时, CMake 将需要从头开始配置项目,重新生成所有的构建输出和配置文件。这个命令通常用于在需要完全重置项目构建环境的情况下使用,例如在更改了项目的硬件配置或需要确保从头开始全新构建。
        上述提到的命令是 IDF 前端工具中极为常用的指令,掌握了这些命令,可以开始着手开发 ESP32 项目了。至于其他命令的详细信息,可以查阅 ESP-IDF 编程指南中的 IDF 前端工具章节内容。

        总结:通过以上命名行学习,从项目创建到下载程序运行需要经过5个步骤:

  • Step1:创建新工程(idf.py create-project --path <project name>)
  • Step2:创建新组件(idf.py create-component <component name>)
  • Step3:设置目标芯片(idf.py set-target <target>)
  • Step4:编译工程(idf.py build)
  • Step5:下载代码(idf.py -p COM4 flash)

        ​可以看到命令式开发难以轻松调试和编写代码,在大型项目中,开发效率会大大降低。因此,为了让开发者能够更顺畅地使用 ESP IDF,建议开发者选择基于集成开发环境(IDE)的开发方式,推荐 VS Code IDE。

5.3 搭建集成开发环境

        VS Code IDE 作为开发工具,该软件支持下载 ESP-IDF 插件,从而方便开发者进行项目开发和调试。 ESP-IDF插件可便利开发人员在 VS Code 开发环境中开发基于ESP32 的 IoT 应用程序。 本插件集成了编辑、编译、烧录和调试等基础功能,还有安装工具、SDK 配置和 CMake 编辑器等附加功能,可简化并增强开发人员在使用标准 VS Code 开发和调试 ESP32 IoT 应用程序时的开发体验。

5.3.1 VS Code 安装

        进入VSCode官方下载页面,根据系统需求选择下载安装包,以Windows为例下载后安装包VSCodeUserSetup-x64-1.102.3.exe,双击开始安装,并点击下一步

        选择安装目录,默认安装到C盘,本次更改安装到D盘,点击下一步。

        注意:修改的路径最好不要出现中文,以避免在往后的开发过程中遇到问题而重装软件。

        选则开始菜单文件,点击下一步

        全勾上点击下一步

        点击安装:

        最后安装完成

        到这一步便可以开始运行 VSCode 了。 打开 VS Code,在扩展商店的搜索区域输入“Chinese”安装中文插件,如下图所示:

        注意:‌如果安装插件后不生效,可以使用下面命令面板切换法‌方法设置:

  • Step1:按下 Ctrl+Shift+P 打开命令面板;
  • Step2:输入 Configure Display Language 后选择 zh-cn(简体中文);
  • Step3:根据提示重启编辑器生效。‌

        至此, VSCode 的安装与配置便算完成了。

5.3.2 安装与配置 ESP-IDF 插件

        打开 VS Code 软件,然后按下快捷键“ Ctrl+Shift+X”进入应用商城,在搜索栏下搜索Espressif IDF 插件,点击安装即可:

        至此 Espressif IDF 插件就算安装好了,接下来我们来看看插件的配置。
        快捷键 ctrl+shift+p 命令栏,在弹如下提示框后,搜索“配置 ESP-IDF 插件”,或者在使用快捷键 ctrl+shift+p 呼出命令栏后,在搜索框输入配置命令: Configure ESP-IDF,稍等几秒钟,点击ADVANCED”进入高级配置界面,如下图所示:

        配置 ESP-IDF 插件完成后,点击上图“Configure Tools”选项执行配置操作,此时需要等待系统配置成功,如下图所示:

注意:如果出现如下“python.exe -m pip is not valid” 错误,大概是 python 环境搭建原因,使用该博主解决方案,我使用的是第一种解决,第二种尝试无法解决问题

        从上图可以看到,配置 ESP-IDF 插件需要进行三个流程, 等待第一个流程配置完成,此时进入 ESP-IDF Tools 配置流程,如下图所示,接着点击 “Download Tools”选项下载工具

下载成功后,系统进入第三个流程 Python 环境搭建,如下图所示:

三个流程完成后,系统提示如下信息,如下图所示:

        接下来,配置插件默认的配置参数,如串口下载的波特率和下载方式,配置流程如下所示,进入配置插件界面, 然后找到“Flash Baud Rate”和“Flash Type”,选项, 配置如下图所示(默认)

5.3.3 个性化配置和工作环境配置

         settings.json 文件存储了用户的个性化配置和工作环境设置,包括编辑器的外观、语言、代码格式化风格、自动补全行为、调试配置、扩展设置等。在 VS Code 中,可以通过用户设置(全局设置)和工作区设置(针对特定项目或文件夹的设置)来区分不同类型的配置。 settings.json 文件配置流程如下。
① 打开设置界面
     ctrl +shift +p -> 输入setting -> 首选项:打开用户设置(JSON),添加内容,修改完后需要重启VS Code:

{
    /* 上面的部分是我自己创建的一些设置 */
    "editor.insertSpaces": false, /* 自动插入空格禁用*/
    "editor.detectIndentation": false, /* 启用时根据文件内容进行重写*/
    "editor.renderControlCharacters": true, /* 是否显示控制字符:启用*/
    "editor.renderWhitespace": "all", /* 显示 4 个空格是.... */
    "editor.tabSize": 4, /* tab 设置为 4 个空格*/
    "editor.fontSize": 18, /* 代码字体大小*/
    "editor.fontFamily": "Monaco, 'Courier New', monospace", /* 代码字体*/
    "update.mode": "manual", /* 设置不自动更新*/
}

        至此,已成功安装 VS Code 集成开发环境的 ESP-IDF 插件,并完成了 VS Code 工作环境的配置。接下来将在 VS Code IDE 中新建一个 ESP-IDF工程,并进一步探讨工程的调试工具等相关内容。

Logo

一站式 AI 云服务平台

更多推荐