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

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.