ESP32开发环境搭建Windows VSCode集成Espressif IDF插件ESP32_IDF_V5.0开发编译环境搭建

本文主要是介绍ESP32开发环境搭建Windows VSCode集成Espressif IDF插件ESP32_IDF_V5.0开发编译环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、安装ESP32-IDF库

下载网址:https://dl.espressif.com/dl/esp-idf/

打开上面的网页,选择单击页面中 ESP32-IDF v5.0.2 - Offine Installer,5.0.2是当前最新版本,如果没有ESP32-IDF v5.0.2 - Offine Installer,说明官方有更新最新版本,如果想要安装此教程版本可以把页面翻到最下面,会列出所有历史版本供用户下载。

注意:ESP-IDF库各版本之间API函数各有差异,版本号差别越大,差异越大,如果是新手小白还是尽量遵循你的开发板卖家或你找的源码教程中的版本来。

 下载成功后,在安装程序上单击右键选择 <以管理员身份运行>打开程序。

 打开安装程序后选择简体中文安装

勾选我同意协议,单击下一步按钮。

 如果是第一次安装,会出现如下提示。

安装程序会检查你当前系统有没有打开"长路径支持",因为GNU编译器产生的编译文件会有非常深的目录结构,如果不支持长路径,编译可能出现文件不存在,目录不存在等奇怪的错误。这里单击应用修复按钮,可以修复这个问题。

 在弹出的确认对话框中,选择是,开始修复

 修复完成,单击下一步

安装程序会提示修复成功;单击下一步。

注意:如果修复不成功,一般情况是安装软件打开时没有使用管理员权限打开,可以手动修改注册表来支持长路径:打开注册表HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled 设置为 1。该操作需要管理员权限。

接下来一步,开始选择安装目录,安装程序默认的安装位置为 C:\Espressif,但这里我是安装在F盘,如果全部源码编译后可能产生几十G的大小占用,我的F盘空间很大,我在F盘创建了两个文件夹,

一个 <ESP32> 文件夹放IDF库及后面学习用到的ADF,MDF等官方库。

一个 <ESP32_File> 文件夹放置所有的源码工程。

注意:强烈建议安装在其它盘符

原因1:有些电脑默认C盘空间较小,ESP-IDF安装后有几个G大小

原因2:使用命令行工具操作配置源码工程需要切换目录,多一步操作,而且源码工程编译会生成大量文件,每个工程都会有一两百MB的占用空间。

 下一步,确认安装组件,这里全部打勾,默认完全安装时ESP32 C2是不打勾的,看需要自己选择。然后单击下一步

 再次确认安装目录信息,然后单击安装。

 开始解压离线安装文件,静静等待它完成

 安装完成。三个全部勾选,1、2用于测试环境安装是否成功,3是将IDF工具链加入杀毒工具排除项,以加快编译速度。

 单击完成后出现如下两个窗口,一个是PowerShell命令行,一个是传统的cmd命令行窗口。显示如下内容,说明可以进行工程编译了。

二、检查设置环境变量

安装IDF库完成后,虽然使用命令行的方式可以编译工程了,但每次使用命令行着实不方便,这里检查并创建两个环境变量,为把ESP32编译集成到VSCode中做准备。

重要的一步,检查你的系统环境变量,在用户变量中检查是否有 IDF_PATH和IDF_TOOLS_PATH这两个环境变量,如果没有的话,创建一下,注意你自己刚才安装ESP-IDF库的目录。

打开电脑的用户环境变量设置,计算机属性->高级系统设置->环境变量->xx用户环境变量:

IDF_PATH : ESP-IDF库的路径

IDF_TOOLS_PATH : ESP-IDF编译工具链的路径

检查并创建这两个用户变量,像我的变量如下,你们参照刚才安装ESP-IDF库的目录创建,确保目录确实存在

IDF_PATH : F:\ESP32\Espressif\frameworks\esp-idf-v5.0.2

IDF_TOOLS_PATH : F:\ESP32\Espressif

 三、Visual Studio Code配置

下载地址:Visual Studio Code - Code Editing. Redefined

Visual Studio Code编辑器在Windows上安装比较简单,直接setup.exe。一路下一步,安装好后首次启动配置插件,插件配置必须联网,从网上下载

设置中文

同时按Ctrl + Shift + X 快捷键
在左侧“扩展”视图文本框中输入“Language Packs”,找到Chinese 中文插件,单击绿色的Install安装按钮,这里我们安装的是中文简体,安装完成右下角弹出一个重启按钮,点击重启,语言自动切换

 安装C/C++扩展

同样的方式搜索C/C++,安装C/C++扩展来支持C语言代码高亮

 打开ESP32工程

VSCode中打开ESP32的代码工程,可以直接打开代码所在的文件夹即可,文件菜单选择打开文件夹,选择一个源码目录打开

 打开后的文件结构

 安装Espressif IDF插件

在VSCode扩展插件中搜索 Espressif IDF,单击安装按钮

 安装完成

 配置Espressif IDF插件

单击VSCode设置齿轮菜单,弹出菜单选择设置

在打开的设置页面右上角单击 <以JSON打开设置> 的一个按钮

 将设置以JSON方式打开,上面的是我自己创建的一些设置,下面是Espressif IDF插件根据ESP环境变量自动生成的一些配置,不用更改下面的,看自己情况更改上面的

 这里贴出我的完整配置:

{"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",					// 设置不自动更新"cmake.configureOnOpen": true,"idf.adapterTargetName": "esp32","idf.espIdfPathWin": "F:/ESP32/Espressif/frameworks/esp-idf-v5.0.2/","idf.pythonBinPathWin": "F:/ESP32/Espressif/python_env/idf5.0_py3.11_env/Scripts/python.exe","idf.toolsPathWin": "F:\\ESP32\\Espressif","idf.customExtraPaths": "F:\\ESP32\\Espressif\\tools\\xtensa-esp-elf-gdb\\11.2_20220823\\xtensa-esp-elf-gdb\\bin;F:\\ESP32\\Espressif\\tools\\riscv32-esp-elf-gdb\\11.2_20220823\\riscv32-esp-elf-gdb\\bin;F:\\ESP32\\Espressif\\tools\\xtensa-esp32-elf\\esp-2022r1-11.2.0\\xtensa-esp32-elf\\bin;F:\\ESP32\\Espressif\\tools\\xtensa-esp32s2-elf\\esp-2022r1-11.2.0\\xtensa-esp32s2-elf\\bin;F:\\ESP32\\Espressif\\tools\\xtensa-esp32s3-elf\\esp-2022r1-11.2.0\\xtensa-esp32s3-elf\\bin;F:\\ESP32\\Espressif\\tools\\riscv32-esp-elf\\esp-2022r1-11.2.0\\riscv32-esp-elf\\bin;F:\\ESP32\\Espressif\\tools\\esp32ulp-elf\\2.35_20220830\\esp32ulp-elf\\bin;F:\\ESP32\\Espressif\\tools\\cmake\\3.24.0\\bin;F:\\ESP32\\Espressif\\tools\\openocd-esp32\\v0.11.0-esp32-20221026\\openocd-esp32\\bin;F:\\ESP32\\Espressif\\tools\\ninja\\1.10.2;F:\\ESP32\\Espressif\\tools\\idf-exe\\1.0.3;F:\\ESP32\\Espressif\\tools\\ccache\\4.6.2\\ccache-4.6.2-windows-x86_64;F:\\ESP32\\Espressif\\tools\\dfu-util\\0.9\\dfu-util-0.9-win64;F:\\ESP32\\Espressif\\tools\\esp-rom-elfs\\20220823","idf.customExtraVars": {"OPENOCD_SCRIPTS": "F:\\ESP32\\Espressif\\tools\\openocd-esp32\\v0.11.0-esp32-20221026/openocd-esp32/share/openocd/scripts","IDF_CCACHE_ENABLE": "1","ESP_ROM_ELF_DIR": "F:\\ESP32\\Espressif\\tools\\esp-rom-elfs\\20220823/"},"idf.gitPathWin": "F:/ESP32/Espressif/tools/idf-git/2.39.2/cmd/git.exe","git.openRepositoryInParentFolders": "never"
}

四、Espressif IDF插件使用

 依照上图Espressif IDF插件基本菜单一共12个,常用的只有两三个,依次为

1、选择串口(插头):即连接开发板的下载串口号,VS会列出当前连接电脑的所有串口让你选择,这个会记录,再新打开VSCode不用重新选择,开发过程中尽量不要更换USB线的电脑插口,否则串口号会变。

2、选择目标芯片:对应idf命令idf.py set-target xxxx。即你当前这个工程是要下载到什么芯片上面,如ESP32 S2,S3,C2,C3等等,工程要与芯片相匹配,这个选择是写入当前工程配置的,一般不用更改,工程下配置文件基本已经选择好的。

3、选择当前工程目录(文件夹):也不用修改,一般打开工程时会默认操作都在这个工程目录下

4、工程配置菜单(齿轮):对应idf命令idf.py menuconifg,用来配置当前工程的一些设置,配置项非常多,建议使用到再修改。一般代码工程都是配置好的,且不用修改

5、清除工程(垃圾桶):清除工程编译文件,一般用于压缩拷贝工程文件时用到,清除后工程目录占用空间会占用非常小,KB级,编译后为百MB级,还有一些编译过程中奇奇怪怪的问题也可以先清除编译后再编译

6、编译工程(圆柱体):编译当前工程,只是编译,没有下载功能

7、选择下载模式(五角星):一般都是选择串口UART方式下载

8、下载(闪电):下载编译好的固件到设备芯片上,这里只是下载,没有编译功能,修改代码后要先编译再点这个下载,所做的修改才有效。

9、串口监控(小电视):打开与设备连接的串口,打印设备串口信息

10、编译/下载/监控(一团火):最常用的一个,它将编译下载和打开串口监控做在了一起,点一次全部搞定

11、打开命令行:打开命令行窗口,且会定位在当前项目路径下,可以执行idf的一些命令

12、执行自定义任务:不使用

五、头文件包含、无法跳转、波浪线问题解决

打开ESP32工程头文件波浪线不能跳转,并且提示“在browse.path中未找到包含文件”等等引用错误提示

1、按前面的四步安装配置好IDF插件后,删除源码目录中 <.vscode>文件夹内所有文件。

2、在VSCode中使用快捷键:Ctrl + Shift + P调出VSCode的命令面板,并输入“添加vscode”

选择“ESP-IDF:添加 vscode 配置文件夹”,VSCode 会自动在源码目录下的<.vscode>文件夹中生成对应的配置文件,对应的红色波浪线也消失了,按住Ctrl 键用鼠标单击你想查看的头文件或函数,就可以跳转了。

 

这篇关于ESP32开发环境搭建Windows VSCode集成Espressif IDF插件ESP32_IDF_V5.0开发编译环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155679

相关文章

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

Spring Boot 集成 mybatis核心机制

《SpringBoot集成mybatis核心机制》这篇文章给大家介绍SpringBoot集成mybatis核心机制,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值... 目录Spring Boot浅析1.依赖管理(Starter POMs)2.自动配置(AutoConfigu

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

SpringBoot集成iText快速生成PDF教程

《SpringBoot集成iText快速生成PDF教程》本文介绍了如何在SpringBoot项目中集成iText9.4.0生成PDF文档,包括新特性的介绍、环境准备、Service层实现、Contro... 目录SpringBoot集成iText 9.4.0生成PDF一、iText 9新特性与架构变革二、环

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

在C#中调用Windows防火墙界面的常见方式

《在C#中调用Windows防火墙界面的常见方式》在C#中调用Windows防火墙界面(基础设置或高级安全设置),可以使用进程启动(Process.Start)或Win32API来实现,所以本文给大家... 目录引言1. 直接启动防火墙界面(1) 打开基本防火墙设置(firewall.cpl)(2) 打开高

基于Python实现局域网内Windows桌面文件传输

《基于Python实现局域网内Windows桌面文件传输》这篇文章介绍了如何使用Python实现一个局域网文件传输系统,包括发送端和接收端的代码示例,发送端和接收端都需要在同一局域网内运行,并且确保防... 目录发送端代码 (sender.py)接收端代码 (receiver.py)图形界面版本 (可选)使

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

MongoDB搭建过程及单机版部署方法

《MongoDB搭建过程及单机版部署方法》MongoDB是一个灵活、高性能的NoSQL数据库,特别适合快速开发和大规模分布式系统,本文给大家介绍MongoDB搭建过程及单机版部署方法,感兴趣的朋友跟随... 目录前言1️⃣ 核心特点1、文档存储2、无模式(Schema-less)3、高性能4、水平扩展(Sh