最新版ESP32 IDF环境搭建教程:基于CLION同时安装多个版本的IDF

news2024/11/26 23:24:31

最新版ESP32 IDF环境搭建教程

  • 说明
  • 下载ESP32 IDF
  • 下载并激活CLION
  • 同时安装多个版本的IDF
  • 参考

说明

通过CLION配置了V445和V503版本的IDF。通过将环境变量添加在BAT文件中,解决了安装两个版本的IDF冲突的问题。CLION配置IDF效果要比VSCODE好,vscode代码补全太慢,功能也没有clion强大,因此使用clion是更好的IDF编译器。

下载ESP32 IDF

进入以下网址,下载ESP32 IDF框架
https://dl.espressif.cn/dl/esp-idf/?idf=4.4
在这里插入图片描述

这里有多个版本,一般我们常用的是V4.4的版本,因此我们可以安装V4.4.5和最新版,两种。
在C盘根目录下,创建一个文件夹,路径为:C:\espressif\V445这里的v445标志着不同的版本,我们电脑上可以同时安装多个所需的版本。

在这里插入图片描述
接着,打开下载好的idf,选择安装路径如下:
在这里插入图片描述
一路点击安装即可:
在这里插入图片描述
安装好后的文件夹内容如下:目前的idf已经把frameworks和tools整合到同一个文件夹内了,更方便用户安装。
在这里插入图片描述
打开桌面新增加的CMD图标,
在这里插入图片描述
输入idf.py,出现以下内容,证明安装完成:
在这里插入图片描述

下载并激活CLION

在以下链接下载并安装clion:https://www.jetbrains.com/clion/download/#section=windows
在这里插入图片描述
按照以下步骤讲clion汉化:
在这里插入图片描述
接着,打开IDF安装路径下的\Espressif\frameworks\esp-idf-v4.4.5\examples\get-started\hello_world
将该文件夹内的内容复制到桌面新建的一个TEST1文件夹,用来创建一个新的ESP32工程项目。
如下:并右键,用CLION打开。
在这里插入图片描述
选择第一个,并信任:
在这里插入图片描述
接着,我们添加ESP32的工具链,
右上角,打开设置:
在这里插入图片描述
找到工具链,并新建一个MINGW工具链
在这里插入图片描述
名称命名为ESP32V445,选择添加环境->来自文件,如下:
在这里插入图片描述
在IDF的安装根目录下,新建一个IDFV445.bat的文件,里面内容如下:如果没有idf_cmd_init.bat这个文件的,就去掉下面中的第三行

@call C:\espressif\V445\Espressif\python_env\idf4.4_py3.11_env\Scripts\activate.bat
@call C:\espressif\V445\Espressif\frameworks\esp-idf-v4.4.5\export.bat
@call C:\espressif\V445\Espressif\idf_cmd_init.bat

如下图:
在这里插入图片描述
内容里面的路径根据自己的安装路径来。新版本的IDF有时安装之后,目录下没有activate.bat文件,可以自己建一个该文件,内容如下:把其中的set "VIRTUAL_ENV=C:\espressif\V445\Espressif\python_env\idf4.4_py3.11_env"
路径改为自己的实际路径。

@echo off

set "VIRTUAL_ENV=C:\espressif\V445\Espressif\python_env\idf4.4_py3.11_env"

if defined _OLD_VIRTUAL_PROMPT (
    set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
) else (
    if not defined PROMPT (
        set "PROMPT=$P$G"
    )
    if not defined VIRTUAL_ENV_DISABLE_PROMPT (
        set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
    )
)
if not defined VIRTUAL_ENV_DISABLE_PROMPT (
    set "ENV_PROMPT="
    if NOT DEFINED ENV_PROMPT (
        for %%d in ("%VIRTUAL_ENV%") do set "ENV_PROMPT=(%%~nxd) "
    )
    )
    set "PROMPT=%ENV_PROMPT%%PROMPT%"
)

REM Don't use () to avoid problems with them in %PATH%
if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME
    set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
:ENDIFVHOME

set PYTHONHOME=

REM if defined _OLD_VIRTUAL_PATH (
if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1
    set "PATH=%_OLD_VIRTUAL_PATH%"
:ENDIFVPATH1
REM ) else (
if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2
    set "_OLD_VIRTUAL_PATH=%PATH%"
:ENDIFVPATH2

set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"

我们看电脑的环境变量,发现IDF安装程序自动给我们设置了一个环境变量,如下:
在这里插入图片描述
如果我们要安装多个不同版本的IDF,我们就需要把这个环境变量删掉,将其添加在我们新建的IDFV445.bat里面。最终IDFV445.bat里面内容如下:

set IDF_TOOLS_PATH=C:\espressif\V445\Espressif
@call C:\espressif\V445\Espressif\python_env\idf4.4_py3.11_env\Scripts\activate.bat
@call C:\espressif\V445\Espressif\frameworks\esp-idf-v4.4.5\export.bat
@call C:\espressif\V445\Espressif\idf_cmd_init.bat

最后在clion里面,文件选择idf安装路径下我们新建的IDFV445.bat文件,如下:
在这里插入图片描述
配置好工具链之后,我们点击右边状态栏的cmake,选择到我们的ESP32V445工具链:如下配置
在这里插入图片描述
到这里,我们就可以进行编译了。首先回到工程,右键重新加载CMAKE。
在这里插入图片描述
待加载完成之后,在右上角选择编译:
在这里插入图片描述
最后编译成功后,结果如下:
在这里插入图片描述

同时安装多个版本的IDF

多个版本的IDF难点是在环境变量的冲突,我们上面通过将环境变量删掉,添加在bat文件里,即可添加不同版本的IDF。
按与上面相同的步骤,我们添加IDF V503版本如下:
在这里插入图片描述
编译结果如下:
在这里插入图片描述

参考

乐鑫官网
乐鑫官网教程
IDF配置教程

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

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

相关文章

PAT (Basic Level) Practice 1045~1066

PTA Basic Level Practice 解题思路和代码,主要用的是 C。每22题一篇博客,可以按目录来进行寻找。 文章目录 1045 快速排序1046 划拳1047 编程团体赛1048 数字加密1049 数列的片段和1050 螺旋矩阵1051 复数乘法1052 卖个萌1053 住房空置率1054 求平均值1…

Redis 集合(Set)快速指南 | Navicat

Redis 支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合&#xf…

SpringBoot 整合 Websocket 通信demo (附浏览器聊天窗口)

1. 依赖 <!-- SpringBoot WebSocket --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>2. 自动注册配置类 import org.springframework.context…

Timeline的使用心得

timeline使用教程 timeline使用主要分为一下几步&#xff1a; 1、新建表格&#xff1b; 2、设置数据 3、发布网址 4、修改表格样式&#xff1b; 5、快速预览 需要用到的几个网址&#xff1a; 1、timeline官网网址&#xff1a;timeline 2、本地图片转链接&#xff1a;图片转链…

创建react脚手架项目——demo(react18 + react-router 6)

创建react脚手架项目——demo&#xff08;react18 react-router 6&#xff09; 1. 安装 create-react-app1.1 执行安装命令1.2 安装遇到的问题1.2.1 问题1——npm ERR! code ENOTFOUND 2. 创建项目2.1 创建项目命令2.2 查看项目结构2.2.1 目录结构2.2.2 注意点 3. 启动项目4. …

分享一下在微信公众号上怎么实现表单功能

在微信公众号上实现表单功能可以帮助公众号运营者与用户进行互动&#xff0c;收集用户反馈&#xff0c;提供个性化服务&#xff0c;以及进行数据分析等。以下是在微信公众号上实现表单功能的一些步骤和建议。 一、了解微信公众号平台的功能 首先&#xff0c;你需要了解微信公众…

关于《考研数学高分公式》系列的后续及一点说明

写在前面 在昨天&#xff0c;当我再次登录CSDN时&#xff0c;我惊讶地发现《考研数学高分公式》这一系列的两篇文章竟然拥有超过数万次的阅读量。许多学弟学妹也通过私信向我询问&#xff0c;为什么不再继续更新这个系列了。 未及时回复他们&#xff0c;颇感惭愧。 我仔细考…

预约到家按摩小程序开发定制同城服务

随着生活节奏加快&#xff0c;生活压力也随之而来&#xff0c;很多人忙于工作与生计&#xff0c;身体和心理两方面都在承受重压。而按摩能够消除身体的疲惫&#xff0c;增强人的身体体质&#xff0c;在劳累过后放松身心按摩一会儿&#xff0c;可以快速恢复精神状态&#xff0c;…

智能3D人体导医系统源码 智能导诊系统源码

智能3D人体导医系统源码 医院智能导诊系统是在医疗中使用的引导患者自助就诊挂号&#xff0c;在就诊的过程中有许多患者不知道需要挂什么号&#xff0c;要看什么病&#xff0c;通过智能导诊系统&#xff0c;可输入自身疾病的症状表现&#xff0c;或选择身体部位&#xff0c;在…

云的灵魂是人工智能

在这个数字化飞速发展的时代&#xff0c;云计算已经成为了我们生活中不可或缺的一部分。而随着人工智能技术的不断进步&#xff0c;云的灵魂也逐渐被赋予了人工智能的色彩。让我们一起探讨这个新兴的话题&#xff0c;一起展望云计算与人工智能的融合所带来的巨大变革。 一、GPU…

中风失语 18 年,AI + 脑机接口帮她「意念发声」

人与人交往中&#xff0c;说话表达是最基本的能力和方式&#xff0c;可世界上有很多人&#xff0c;却「有口难言」。 「失语症」中&#xff0c;由中风引起的最为常见。他们的声音无法传达&#xff0c;他们的诉求不为人所知&#xff0c;他们遭受着社交孤立&#xff0c;他们的沉默…

“混合”引擎为通用子模块提供动力,实现嵌入式I / O灵活性

现成的组件对于嵌入式开发工程师而言并不是什么新鲜事物。但是&#xff0c;实际上没有人期望一种“一刀切”的解决方案&#xff0c;尤其是在涉及复杂的I / O要求的情况下。 但是&#xff0c;基于流行的夹层卡格式的具有成本效益的现场可编程门阵列&#xff08;FPGA&#xff09…

DALLE-2

扩散模型做图像生成使用clip预训练好的特征去做层级式的依托于文本的图像生成先生成小分辨率图像64*64然后利用一个模型上采样到256*256&#xff08;迭代&#xff09;先训练好一个clip模型&#xff0c;学习到图像文本对的关系 图像生成的模型 AEDAEVAEVQVAEDALL-E &#xff1…

Pycharm 配置python项目本地运行环境

1.打开Pycharm,打开Setting 2. 新建本地环境 3.如果报错如上图所示&#xff0c;请通过cmd来新建本地环境&#xff0c;具体步骤如下 在对应的代码路径下&#xff0c;通过virtualenv venv来创建虚拟路径 安装好之后&#xff0c;安装对应的依赖包即可 pip3 install -r ./require…

如何在windows环境下编译T

一&#xff0c; 安装MYSYS2 1. 去https://www.msys2.org下载 msys2-x86_64-xxxxx.exe; 2. 按照msys2.org主页提示的步骤安装; 3.安装完默认起来的是 UCRT的&#xff0c; 可以根据环境的需要选择&#xff0c; 我选择的 MSYS2 MINGW64 4. 搭建编译环境&#xff0c; 安装对应的软…

反常积分的概念与计算

目录 无穷区间上的反常积分 无界函数的反常积分 反常积分的敛散性 反常积分的计算 无穷区间上的反常积分 无穷区间上的反常积分(improper integral on infinite interval)是一种反常积分 设函数f(x)在(a,∞)上有定义&#xff0c;且f(x)在任意有限区间(a,A)(A>a)上可积&…

一生一芯15——jupyter notebook搭建与对应kernel的设置

本文参照 https://zhuanlan.zhihu.com/p/403183676?utm_id0 https://blog.csdn.net/moledyzhang/article/details/78850820 进入虚拟环境Chisel conda activate Chisel安装jupyter pip3 install jupyter查看内核 jupyter kernelspec list此处我已经安装好&#xff0c;否则…

大学生实习考勤打卡系统 微信小程序uniapp

本毕业设计的内容是设计实现一个学生实习考勤的打卡小程序。它是以 springboot框架&#xff0c;MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。学生实习考勤的打卡的功能已基本实现&#xff0c;主要包括学生、实习单位、实习打卡、考研申报、找工作申报…

AQS锁原理

文章目录 一、AQS是什么&#xff1f;二、AQS原理三、STATE&#xff1a;状态四、AQS共享资源的方式&#xff1a;独占式和共享式4.1 独占式实现4.1 共享式 总结 一、AQS是什么&#xff1f; AQS&#xff08;Abstract Queued Synchronizer&#xff09;是一个抽象的队列同步器&…

节距信号发生器(成缆变节距控制)

成缆机系统控制,请查看下面文章链接 ,这篇文章主要介绍节距信号发生器算法原理和代码,博途PLC信号发生器链接地址如下: PLC信号发生器(博途SCL)_RXXW_Dor的博客-CSDN博客信号发生器的应用请参看下面的博客文章,在演示滤波器的作用时,我们可能也会用到信号的叠加等。博途…