目录

ESP32开发在VS-Code中安装ESP-IDF环境新建工程编译代码下载程序ESPIDF5.1.5

【ESP32开发】在VS Code中安装ESP-IDF环境、新建工程、编译代码、下载程序(ESPIDF5.1.5)

1、ESP-IDF

ESP-IDF 简介

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

https://img-blog.csdnimg.cn/img_convert/4abc5e7334e2cdc3ef0fcfc68c190bb9.jpeg

主要特性

  1. 免费开源 :ESP-IDF相关资源已在GitHub上免费开放。用户可在Apache 2.0许可下以源代码形式获取ESP-IDF的大多数组件,或通过兼容许可证获取第三方组件。
  2. 专业稳定 :ESP-IDF具有清晰、严格的发布流程和支持策略,确保用户选择使用稳定的发布版本,并可持续获得适用于其应用的重要修复程序。每个稳定的发布版本均经过严格的测试流程,以确保版本稳定,客户可快速实现量产。
  3. 功能丰富的软件组件 :ESP-IDF集成了大量的软件组件,包括RTOS、外设驱动程序、网络栈、多种协议实现技术以及常见应用程序的使用助手。它提供了典型应用程序所需的大部分构建块,用户在开发应用时只需专注于业务逻辑即可。ESP-IDF不仅具有免费开源的开发工具,还支持Eclipse和VSCode等IDE,确保其易于开发人员使用。
  4. 丰富的文档和示例资源 :ESP-IDF提供详尽的软件组件使用和设计文档,有助于开发人员充分理解ESP-IDF功能,并从中挑选最适合构建其应用程序的模块。ESP-IDF包含100多个示例,详细说明了其组件及硬件外设的功能和用法。它们经过了严格的测试和维护,是用户开启应用开发的有效参考。

核心功能

  1. Wi-Fi和蓝牙支持 :ESP-IDF提供了对Wi-Fi(2.4 GHz频段)和蓝牙的全面支持,使得开发者可以轻松实现网络连接功能。
  2. 多核处理器支持 :ESP-IDF支持Espressif SoC中的双高性能Xtensa® 32位LX6 CPU核心,以及超低功耗协处理器。
  3. 丰富的外设接口 :ESP-IDF提供了多种外设接口,如GPIO、I2C、SPI、UART等,方便开发者进行硬件扩展和控制。
  4. 安全功能 :ESP-IDF内置了多种安全功能,包括加密、认证和安全启动等,确保设备的安全性。
  5. OTA更新 :ESP-IDF支持通过Wi-Fi或蓝牙进行固件的空中升级(OTA),方便设备的远程管理和维护。

最新版本更新

ESP-IDF的最新版本(如v5.3.1)包含了许多新功能和改进,主要包括:

  • 新的SoC支持 :增加了对ESP32-C2、ESP32-C6和ESP32-H2等新SoC的支持。
  • 性能优化 :对Wi-Fi和蓝牙的性能进行了优化,提升了连接稳定性和数据传输速度。
  • 安全增强 :增加了新的安全功能,如硬件加密加速和安全启动的改进。
  • 开发工具改进 :更新了开发工具链,提供了更好的调试和监控功能,方便开发者进行项目开发和调试。
  • 文档和示例更新 :增加了新的文档和示例项目,帮助开发者更快上手和理解ESP-IDF的使用 。

开发环境搭建

ESP-IDF支持多种开发环境,包括Windows、Linux和macOS。以下是一些常见的开发环境搭建方式:

  1. 使用VSCode :可以通过安装ESP-IDF插件来搭建开发环境,支持Windows、Linux和macOS。
  2. 使用Eclipse :可以通过安装Espressif-IDE插件来搭建开发环境,支持Windows、Linux和macOS。
  3. 命令行方式 :可以通过手动安装工具链和编译构建工具(如CMake和Ninja),然后下载ESP-IDF源代码进行编译和调试。

示例代码

以下是一个简单的ESP-IDF示例代码,用于实现一个基本的Hello World应用:

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

void app_main()
{
    printf("Hello, world!\n");
    while (1) {
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}

2、VS Code配置更改

我们需要新建一个配置,用于区分、隔离开发环境,避免和别的开发环境冲突

打开VS Code,点击右下角设置,点击配置,选择配置文件

https://i-blog.csdnimg.cn/direct/3517a6ff85f84a54a3dcf7ff7f6d77e3.png

新建一个名为“ESP-IDF”的配置

https://i-blog.csdnimg.cn/direct/fe9c8092752b48d09609ac2f0a406443.png

新建完成后,切换为新建的配置

https://i-blog.csdnimg.cn/direct/15b7ce54627b40469740855169c08bc4.png

3、ESP-IDF环境安装

在VS Code的插件中心搜索“ESP-IDF”

找到如图所示插件,点击安装

https://i-blog.csdnimg.cn/direct/b45348870e5d43528d14c72c96f70629.png

如下提示则表示安装成功

https://i-blog.csdnimg.cn/direct/f960252058034541b591e8aa0e42079e.png

点击左面的ESP-IDF插件图标,进入ESP-IDF配置

https://i-blog.csdnimg.cn/direct/7db870b7650846c0a62c681a05218acf.png

点击中间第一个进入配置

https://i-blog.csdnimg.cn/direct/6e3b9f650cca442b837c93f0dafaa913.png

选择安装版本、路径、工具路径,最后点击“Install”进行安装

https://i-blog.csdnimg.cn/direct/59c7bf5b7b9b4ad79fc6bf43821b66d4.png

最后就等待安装

https://i-blog.csdnimg.cn/direct/89fabc1bedc945e8be7a5aa36982df81.png

等待安装中。。。。。。。。

https://i-blog.csdnimg.cn/direct/fc9289329fa44a79a21cd988c8406209.png

安装完成

https://i-blog.csdnimg.cn/direct/2b494583e2b545829f5b46207a5dafb2.png

最后在插件中心找到C/C++插件,并点击安装

https://i-blog.csdnimg.cn/direct/8d94388917a64305a8013c1e584bbd9c.png

安装完成

https://i-blog.csdnimg.cn/direct/9ca6630e3f214bc1987a9c77f4aada09.png

完成以上操作就安装完成ESP-IDF的开发环境了

4、新建工程

在之前安装路径下找到示例工程目录,复制helloWord工程

https://i-blog.csdnimg.cn/direct/a405e80784f14026a3027b3e3010d934.png

将刚刚复制的示例程序粘贴到自己的工程路径

https://i-blog.csdnimg.cn/direct/540fd8940c7042cba10bcdacae81bc51.png

鼠标对着刚刚粘贴的工程文件右键,点击“通过VS Code打开”

https://i-blog.csdnimg.cn/direct/455e7029f7a14f50b531fc3cc9e47312.png

打开后在左面工程文件列表可以看到如下路径,删除所框选文件

https://i-blog.csdnimg.cn/direct/f114437eb8df490fb55f36a82fb17019.png

确认删除

https://i-blog.csdnimg.cn/direct/c76bf8c15aa74993a2ca6007c47b1549.png

在main中就可以编写代码了

https://i-blog.csdnimg.cn/direct/20179170d28f4032a31018cfdf73cd89.png

https://i-blog.csdnimg.cn/direct/d0704818bcec46ffa2102e0e8f159041.png

五、编译、下载

点击下面图标,选择开发芯片,这里以“ESP32S3”为例

https://i-blog.csdnimg.cn/direct/e452e28e6a384a0c8ff7cade46154c3c.png

选择下载类型

https://i-blog.csdnimg.cn/direct/678769119c4a47ec9187bd667b3f75dd.png

配置ESP32工程

https://i-blog.csdnimg.cn/direct/3c1ee27a3db14dbba6453733f0ba2de9.png

切换Flash大小为16MB(根据自己芯片、开发板实际情况选择)

https://i-blog.csdnimg.cn/direct/39eea0836b754f9aadba04df00aaba73.png

选择烧写程序类型为串口

https://i-blog.csdnimg.cn/direct/e1f3bf33e0554cbabba7cf091a50115a.png

将连接的串口切换为自己的ESP32开发板

https://i-blog.csdnimg.cn/direct/5562e887e8594eec8ce9af55cd2a7bb0.png

编译程序

https://i-blog.csdnimg.cn/direct/006e46d91f814d7e8f738c2f05e504e9.png

最后点击闪电,即可编译和下载了

https://i-blog.csdnimg.cn/direct/cc8eab8924c74f31b5344fcb8b899599.png