ESP32-IDF安装并在VSCode上编译Hello World
ESP32-IDF安装
准备工作
- 安装python 3
- 安装git
一、在gitee上下载想要安装的idf版本
- 使用git bash端下载,指令如下:
- git clone -b [tags标签/分支名称] [git地址]
例如:git clone -b release/v4.3 https://gitee.com/EspressifSystems/esp-idf.git
下载好后会在git clone指定的下载路径有个esp-idf的文件夹
- git clone -b [tags标签/分支名称] [git地址]
二、在gitee上下载esp-gitee-tools工具
- 使用git bash端下载,指令如下:
- gitee仓库链接:https://gitee.com/EspressifSystems/esp-gitee-tools
例如:git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
下载好后会在git clone指定的下载路径有个esp-gitee-tools的文件夹
- gitee仓库链接:https://gitee.com/EspressifSystems/esp-gitee-tools
三、在git bash端下载idf编译工具和组件更新具体步骤
- 打开esp-idf文件夹
cd esp-idf - 添加编辑组件的环境变量(安装位置),具体位置自行定义,不定义可能会默认下载到C盘
export IDF_TOOLS_PATH='D:\_software_\esp\esp-idf-v4.3\.espressif - 在esp-idf文件夹位置执行esp-gitee-tools文件夹中的install.sh指令下载idf相关的编译工具(具体位置自行定义)
../../esp-gitee-tools/install.sh - 在esp-idf文件夹位置执行esp-gitee-tools文件夹中的submodule-update.sh指令更新组件(具体位置自行定义)
../../esp-gitee-tools/submodule-update.sh
至此,完成以上步骤后就可以成功安装好esp32 idf包以及相关编译环境,可以编译个Hello World耍了。
配置使用VSCode运行idf编译环境
一、vscode 的 powershell 的 $PROFILE 文件对应修改
- 打开vscode终端(快捷键Ctrl+`),运行以下指令:
$PROFILE
运行指令后命令框会输出:C:\Users\why\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,如果在该路径下没有这个脚本文件需要自行新建一个。 - 打开该脚本文件中并添加以下代码
function esp_init{
$env:IDF_TOOLS_PATH="F:\esp\esp-idf-v4.3.1\.espressif"
. F:\esp\esp-idf-v4.3.1\esp-idf\export.ps1
}
- 指令解析:
- $env:IDF_TOOLS_PATH="F:\esp\esp-idf-v4.3.1.espressif"为加载idf编译工具地址到环境变量中。具体路径自行定义
- . F:\esp\esp-idf-v4.3.1\esp-idf\export.ps1,因为刚刚安装的工具尚未添加至 PATH 环境变量,无法通过“命令窗口”使用这些工具。因此,必须设置一些环境变量。
- 指令解析:
二、允许PowerShell执行脚本
- 管理员身份运行PowerShell
- 输入命令
Set-ExecutionPolicy RemoteSigned- 允许(Yes)
- 输入命令
完成以上所有操作后就全部弄完编译idf的准备工作了。以后只需要在vscode中打开esp32 idf的工程后打开vscode的powershell终端,输入指令esp_init即可一键启动idf编译环境。
开始创建工程,运行hello world
一、获取hello world工程
可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程复制出来到你想放的路径。
二、使用VSCode打开该文件夹
在VSCode中点击文件->打开文件夹,或者使用快捷键先ctrl+k再ctrl+o
三、打开VSCode的PowerShell终端
在VSCode中点击终端->新的终端,或者使用快捷键先ctrl+`
四、运行我们之前写好的一键idf编译环境加载脚本
powershell终端,输入指令esp_init即可一键启动idf编译环境
五、编译hello world工程
运行idf的编译脚本。idf.py build或者idf.py all即可开始编译工程
六、下载到esp32开发板
运行idf的烧录脚本。idf.py -p COM5 flash,注意串口号需要根据开发板连接电脑后在,电脑设备管理器中查到当前设备的串口号填进去
ESP32-IDF安装并在VSCode上编译Hello World的更多相关文章
- 最小化安装的centos7.5上编译安装git2.19
VMware Workstation已经采用最小化安装CentOS7,显示版本为CentOS7.5,准备采用yum安装git. 采用yum list git发现可安装的GIT软件包版本1.8.3.1, ...
- (一)esp32开发环境搭建(VSCode+IDF实现单步调试)
保姆级手把手教学视频 https://www.bilibili.com/video/BV1RL411A7CU 前言 因为碰上一个学长,跟他聊了会儿天,推荐我做一点物联网的项目,想来想去,那就用WiFi ...
- 在centos6上实现编译安装lamp和wordpress,并编译xcache
author:JevonWei 版权声明:原创作品 软件环境: centos6.9 httpd-2.4.27.tar.bz2 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar. ...
- 在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面)
在Windows系统上一批可以下载但是需要经过编译再安装的第三方的直接编译后的版本(UCI页面) (https://www.lfd.uci.edu/~gohlke/pythonlibs/) win10 ...
- rpm安装MySQL5.5后配置,在centos5上;mysql编译安装在centos6.5上;
[1] 没有/etc/my.cnf: rpm包安装的MySQL是不会安装/etc/my.cnf文件的:处理:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf [2 ...
- Linux上编译安装PHP
这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星 ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- 在CentOS6上编译安装实现LAMP(php-modules)+phpMyAdmin安装过程全记录
php与apache协作有三种模式:CGI.modules.FastCGI. 在CGI模式下,用户请求php文件时,apache会启动响应进程,调用php处理器处理请求,然后将结果返回给客户端.用户响 ...
- windows10使用vscode+cmake编译c++代码
概述 本文将介绍 VScode + cmake 在 windows10上编译c++代码 前提: 我之前已经安装过VS2017, 故 编译将采用cl.exe. 开始之前 本文演示环境基于 windows ...
随机推荐
- Java开发基础平台带集成的审批工作流
前言 activiti工作流,企业erp.oa.hr.crm等审批系统轻松落地,请假审批demo从流程绘制到审批结束实例. 一.项目形式 springboot+vue+activiti集成了activ ...
- Appium driver常用API
click driver.find_element implicitly_wait send_keys close quit get_window_size switch_to execute bac ...
- postgresql批量插入copy_from()的使用
在批量插入postgresql时想使用同Mysql的语法时发现并不能使用: cursor.executemany("INSERT INTO persons VALUES (%d, %s, % ...
- ARC115E-LEQ and NEQ【容斥,dp,线段树】
正题 题目链接:https://atcoder.jp/contests/arc115/tasks/arc115_d 题目大意 \(n\)个数字的序列\(x\),第\(x_i\in [1,A_i]\ca ...
- Jmeter压测学习5---HTTP Cookie管理器
我司项目暂时不需要,直接转载:https://www.cnblogs.com/yoyoketang/p/11963342.html 前言 web网站的请求大部分都有cookies,jmeter的HTT ...
- ASP.NET Core中将Json字符串转换为JsonResult
ASP.NET Core中返回JsonResult 最近在使用NET 5.0做WebApi中,发现只能返回string类型,不能用JsonResult返回实体,于是查阅资料找到解决办法. 两种方式分别 ...
- SpringMVC的数据输出
使用 @Controller public class OutputController { @RequestMapping("/handle01") public String ...
- css的公共属性及原因
在我们写多个网页的时候,会发现总会遇到很多相同的css样式,若是每次都要在网页代码中写,会浪费时间,同时也会消耗浏览器和计算机的性能.因此,我个人将我敲代码过程中的经常用到的css样式总结了一下.再用 ...
- react之四种组件中DOM样式设置方式
1.行内样式 想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现 行内样式需要写入一个样式对象,而这个样式对象的位置可以放在很多地方 例如:render函数里.组件原型上.外链js文件 ...
- Java基础之(十三):类与对象
初识面向对象 面向对象 & 面向过程 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么..... 面向过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题 ...