ESP32开发:1、环境搭建(基于vscode+ESP-IDF)

news2024/10/7 18:26:05

1、ESP-IDF

ESP-IDF提供操作ESP32芯片的API函数,供用户编写的用户程序调用。当用户程序编写好后,ESP-IDF需要借助一系列编译工具才能将用户程序+API函数编译成能运行在ESP32上的二进制文件。

在这里插入图片描述

如上图所示这个1个G左右大的压缩包就是ESP-IDF。如果电脑上已经存在了这个文件,就可以不用下载直接用。
一般vscode的ESP-IDF插件中常出现的IDF_PATH就是指这个路径:

在这里插入图片描述

2、工具链

ESP-IDF依赖一系列的工具链,如下图:

在这里插入图片描述

这些工具中我们熟悉的有python、git、cmake、ninja等,因此也需要安装这些插件。这些插件都是命令行类的,大小比较小(总共600M)。
这些工具要能够让ESP-IDF找到,一般可以通过添加环境变量的方式。

在这里插入图片描述

需要把上图中的文件夹都添加进环境变量中。这样有些麻烦,并且有时候还会和其他软件用的这个工具在版本上冲突。因此,Vscode的ESP-IDF扩展是通过一个设置来指明所用工具的地址的,如下图:

在这里插入图片描述

在红色圈4中圈出的就是各种工具所在的路径。如果电脑上已经安装了某些工具,不想再安装,也可以通过改这些路径来讲其指到新的路径,但要注意工具的版本要符合ESP-IDF的要求。
ESP-IDF中也有相关文件记录这些工具的位置,参考:
https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/SETUP.md#JSON-Manual-Configuration
一般vscode的ESP-IDF插件中常出现的IDF_TOOLS_PATH就是指这个路径:

在这里插入图片描述

3、安装

官方的安装教程如下:
https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/tutorial/install.md
一般按照这个教程一步步的都可以正常安装。如果本地存在ESP-IDF和一些工具链,不想下载,让vscode能找到。可以看到在安装首页时就可以指定本地存在的ESP-IDF:

在这里插入图片描述

通过指定本地存在的文件,可以避免下载新文件。
其中ESP_IDF应该指到:esp-idf-v4.4.4.zip解压缩后形成的esp-idf文件夹,如下图:

在这里插入图片描述

里面包含了一些初始化的脚本文件和操作工具的脚本文件:

在这里插入图片描述

其中IDF_TOOLS_PATH应该指到:将工具链里面各工具放在同一个叫tools的文件夹,指到tools文件夹的上层,如下图:

在这里插入图片描述

tools文件夹中包含了各种工具:

在这里插入图片描述

按照教程安装,看到下图界面时,代表安装成功,就可以开始愉快的ESP32 IDF开发之旅啦!!!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sslTrus (RSA) OV CA

sslTrus (RSA) OV CA品牌证书是建立在Sectigo CA机构的一种面向中国大陆的PKI定制中级根证书服务,OCSP国内本地网络优化,更适合中国网络。采取的Sectigo根证书建立的信任,更是完整。 sslTrus (RSA) OV CA可以选择:单域名、通配符…

生产级Redis Cluster部署(4.0.10版本)

生产级Redis Cluster部署 环境准备 主机名 IP地址 端口 描述 redis-master 192.168.1.51 7000 redis-master01 7001 redis-master02 7002 redis-master03 redis-slave 192.168.1.52 8000 redis-slave01 8001 redis-slave02 8002 redis-slave03 初始化…

代码随想录二刷day42 | 动态规划之背包问题 416. 分割等和子集

day42 416. 分割等和子集确定dp数组以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 416. 分割等和子集 题目链接 解题思路: 这是一维的背包问题 只有确定了如下四点,才能把01背包问题套到本题上来。 背包的体积为sum / 2背包要…

Java 实现快慢指针法返回链表的中间结点

一、思路 这里分为链表结点个数是 奇数 和 偶数 两种情况。 如果是奇数,中间结点只有一个,返回即可;如果是偶数,中间结点则有两个,这里要求返回第二个。 上述图片展示的就是奇数的情况,此时中间结点就是…

找不到“$libdir/postgis-X.X“问题解决方案

背景: 数据库从postgresql-11.9 升级到11.20版本,11.20版本采用了docker镜像 postgis/postgis:11-3.3 (截止20230703实际对应的版本为pg11.20postgis3.3) 升级版本,使用了原来的data,主要版本不变,次要版本升级&#…

文档管理系统是业迈向数字化办公的新时代

随着信息技术的不断发展,企业数字化办公已成为越来越多企业的选择。在数字化办公中,文档管理系统是一个非常重要的组成部分,可以帮助企业打破时空限制,提高工作效率和质量,推动企业向数字化办公的新时代迈进。 什么是…

力扣 39. 组合总和

题目来源:https://leetcode.cn/problems/combination-sum/description/ C题解: 递归法。递归前对数组进行有序排序,可方便后续剪枝操作。 递归函数参数:定义两个全局变量,二维数组result存放结果集,数组pa…

当使用POI打开Excel文件遇到out of memory时该如何处理?

摘要:本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 当我们开发处理Excel文件时,Apache POI 是许多人首选的工具。但是&#xff…

ssh Permission denied, please try again

Permission denied, please try again 修改 vi /etc/sshd_config 最后重启配置或者重启板子,重新ssh连接

优化springboot

介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署。 2. 方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来…

Dual In-Line Package(双列直插式封装)

DIP封装示意图 DIP的详细介绍: 1.封装形式:DIP是一种插件式封装,它由一个狭长的塑料或陶瓷封装体组成,具有在两侧排列的引脚。引脚通常是分布均匀的,并以一定的间隔排列,以便与插座或印刷电路板上的插孔对…

vue 连载软件大陆 vue之新手村,vue创建运行指导(如:vue脚手架,创建启动项目,配置等)

第一章 ’vue功法启动‘ 宇宙之间,开天辟地,从无到有,有一颗蔚蓝色的星球,名为软件大陆,如今大陆上有着众多老牌家族势力的诞生,如:c家族、c家族、java家族、.net家族、等, 而我们今天要说的是…

Vue + electron 构建桌面应用程序

文章目录 需求分析解决 需求 使用Vue.js构建桌面应用程序 分析 选择一个Vue.js框架:选择一个适合你的Vue.js框架。推荐使用Electron,因为它是最流行的桌面应用程序框架之一,而且与Vue.js非常兼容。还有其他框架,如 Proton Native…

【C语言趣味教程】第一章:你好, 世界! 「热门 C 语言专栏《维生素C语言》2023 全新重制」

🔗 《C语言趣味教程》👈 猛戳订阅!!! ​—— 热门专栏《维生素C语言》的重制版 —— 💭 写在前面:这是一套 C 语言趣味教学专栏,目前正在火热连载中,欢迎猛戳订阅&#x…

SQL注入第三章节数据类型与提交方式

SQL注入第三章节数据类型与提交方式 3.1 SQL注入之数据类型 (1)数字型注入点 许多网页链接有类似的结构 http://xxx.com/users.php?id1。基于此种形式的注入,一般被叫做数字型注入点,缘由是其注入点 id 类型为数字&#xff0c…

02、Nginx目录结构与基本运行原理

一、目录: Nginx一般安装在/usr/local/nginx目录下(安装时–prefix可指定安装目录) conf #配置文件|-nginx.conf #主配置文件|-其他配置文件 #可通过那个include关键字,引入到了nginx.…

Redis(主从复制、哨兵模式、集群)概述及部署

Redis(主从复制、哨兵模式、集群)概述及部署 一、Redis主从复制1、Redis主从复制的概念2、Redis主从复制的作用3、Redis主从复制的流程4、Redis主从复制的搭建 二、Redis 哨兵模式1、哨兵模式的原理2、哨兵模式的作用3、哨兵模式的结构4、哨兵模式的搭建…

【Redisson】Redisson--分布式远程服务(Remote Service)

Redisson系列文章: 【Redisson】Redisson–基础入门【Redisson】Redisson–布隆(Bloom Filter)过滤器【Redisson】Redisson–分布式锁的使用(推荐使用)【分布式锁】Redisson分布式锁底层原理【Redisson】Redisson–限流器 文章目录 一、Redi…

java--类变量与实例变量--实验设计--村庄种树

目录 设计要求 设计流程图 程序代码 类Village代码 类MainClass代码 可以直接运行的代码 运行结果 类变量与实例变量的区别和类方法与实例方法的区别 idea的详细使用方法 设计要求 编写程序模拟两个村庄共同拥有一片森林;编写一个Village类,该类…

WebDAV之派盘本地个人云+RaiDrive

RaiDrive是一款Windows平台下的网络驱动器软件,可以将云存储、FTP、WebDAV等网络存储设备映射为本地磁盘,方便用户在本地访问、管理和备份云端数据。它支持的存储设备包括Google Drive、Microsoft OneDrive、DropBox、以及FTP、SFTP等等。使用RaiDrive,用户可以在本地用文件…