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 ...
随机推荐
- [手机编程]Aid Learning--换源+数据库安装
换源+MYSQL安装 Aid Learning下载安装 http://www.aidlearning.net/ 切换源 打开Terminal复制回车即可 cd /etc/apt/&& ...
- 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视GCC编译全过程 | 百篇博客分析OpenHarmony源码| v57.01
百篇博客系列篇.本篇为: v57.xx 鸿蒙内核源码分析(编译过程篇) | 简单案例窥视编译全过程 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...
- PYTHON django 关于时间转换
在安装django.默认会pytz时区库,import pytzpytz.timezone("UTC")now.astimezone("要转换的aware类型" ...
- Spring中IOC的理解
Spring中IOC的理解 1.什么是IOC? (1)控制反转.把对象创建和对象间的调用过程交给Spring进行管理. (2)使用IOC的目的:为了耦合度降低. 2.IOC底层原理? (1)xml解析 ...
- div标签的理解
在HTML里面,div标签是一个块状元素,不会和其他元素排列在同一行,会默认和下面的元素换行,但是如果我们需要把几个div标签排在同一行,需要怎么做? 第一种:修改块状元素 源码: <div i ...
- 从零开始学算法---二叉平衡树(AVL树)
先来了解一些基本概念: 1)什么是二叉平衡树? 之前我们了解过二叉查找树,我们说通常来讲, 对于一棵有n个节点的二叉查找树,查询一个节点的时间复杂度为log以2为底的N的对数. 通常来讲是这样的, 但 ...
- css超出隐藏显示省略号怎么设置?
当我们在进行网页前端开发的时候,一般获取文章标题,然后一行一行的显示.但是当标题过长的时候,就会造成换行显示.还有显示部分文本信息时,如果全部显示就过于繁琐,会带来不会的网页体验感.虽然我们可以使用o ...
- 题解 「BZOJ2178」圆的面积并
题目传送门 题目大意 给出 \(n\) 个圆,求它们并的面积大小. \(n\le 10^3\) 思路 如果您不会自适应辛普森法,请戳这里学习 其实我们发现,如果我们设 \(f(x)\) 表示 \(x= ...
- 自动化运维利器Ansible要点汇总
由于大部分互联网公司服务器环境复杂,线上线下环境.测试正式环境.分区环境.客户项目环境等造成每个应用都要重新部署,而且服务器数量少则几十台,多则千台,若手工一台台部署效率低下,且容易出错,不利后期运维 ...
- 华为在HDC2021发布全新HMS Core 6 宣布跨OS能力开放
[2021年10月22日·东莞]华为开发者大会 2021(Together)于今天正式开幕,华为在主题演讲中正式发布全新的HMS Core 6,向全球开发者开放7大领域的69个Kit和21,738个A ...