esp-idf 安装(Windows )
esp32的开发有两种环境,分别是 Arduino 和 esp32-idf。
Arduino 是在 esp32-idf 基础上进行封装的,虽然使用起来比较方便,但是能自由更改的就变少了,适合新手使用。
esp32-idf 开发难度会大一些,但是可操作空间也会大一些。
一、准备材料
硬件:
一款 ESP32-S3 开发板
USB 数据线 (A 转 Micro-B)
电脑(Windows、Linux 或 Mac OS)软件:
环境:esp-idf
编译工具:CMake + Ninja 或 CMake + idf.py
代码编辑器:VSCode、esp-ide、Notepad++等网站资源
乐鑫官网:https://www.espressif.com.cn/zh-hans/products/sdks/esp-idf
Cmake官网:https://cmake.org/
Ninja官网:https://ninja-build.org/
二、esp-idf安装
esp-idf安装有两种方式,分别是手动安装和 esp-idf 安装工具安装。
以前还没有 esp-idf 安装工具时,在Windows环境下安装就会异常困难,但是现在推荐使用 esp-idf 安装工具安装,将会异常简单。
2.1 esp-idf工具安装器
根据需要选择安装包,因为我不使用乐鑫的idf编辑器,所以我下载了最新的idf
双击安装包
选择语言
同意协议
检查安装环境
设置工具的安装路径
选择需要安装的组件
安装
安装完成
2.2 esp-idf 手动安装
获取 esp-idf
GitHub:https://github.com/espressif/esp-idfgit clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
注意:
git clone 命令的 -b v4.4.2 克隆版本对应的分支。
--recursive
是循环克隆git子项目,如果克隆时没有使用 --recursive 进行循环克隆,可以使用git submodule update --init
命令获取所有子模块cd esp-idf
git submodule update --init
Cmake 安装
详细安装见:https://www.cnblogs.com/jzcn/p/16733956.htmlNinja/idf.py 安装
详细安装见:Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9
注意:Ninja目前只支持64位的系统,如果是32位的系统只能使用idf.pyPython 安装
详细安装见:https://www.cnblogs.com/jzcn/p/16733969.html
Python 安装完成后,从 Windows 中打开“命令提示符”窗口,并运行以下命令:pip install --user pyserial
工具链下载
下载地址:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip完成
到此环境需要的工具基本就安装完成了,对于不熟悉这些工具的朋友来说还是比较麻烦的,在esp-idf也写了自动安装的脚本,详细见2.3
2.3 esp-idf 脚本安装
下载 esp-idf
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
esp-idf 从GitHub中下载完成后,可以看到其中有 install 和 export 两个文件,如下图所示:
执行脚本安装
进入 esp-idf 路径下执行命令install.bat esp32s3 # CMD中执行
./install.ps1 esp32s3 # Windows PowerShell
注意:
可以一次安装多个目标,如./install.sh esp32,esp32c3,esp32s3
安装的工具默认路径是%USERPROFILE%\.espressif
, 想要更改安装位置,请在执行命令前将自己需要安装的路径设置环境,变量名为IDF_TOOLS_PATH
。配置环境变量
在 esp-idf 路径下执行命令export.bat # CMD中执行
./export.ps1 # Windows PowerShell
注意:手动安装时,下载的工具多数时GitHub中下载的,所以还是建议采用离线安装的方式比较快
三、创建项目
案例程序在esp-idf/examples的路径下,可以直接将 examples 目录下的 get-started/hello_world 工程拷贝找指定目录进行测试,也可以使用命令进行拷贝,
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world
注意: ESP-IDF 编译系统不支持带有空格的路径。
四、测试
打开 ESP-IDF 4.4 CMD
或 ESP-IDF 4.4 PowerShell
进入项目目录,执行下面命令
配置开发板信息
idf.py set-target esp32s3
编译工程
在项目主路径下执行下面命令idf.py build
下载
idf.py -p PORT [-b BAUD] flash
如
idf.py -p PORT COM7 flash
打开串口显示窗口
idf.py -p PORT monitor
注意:运行
idf.py -p PORT flash monitor
命令,可以一次性执行构建、烧录和监视过程。
五、使用技巧
配置 esp32 信息
配置 esp32 相关信息可以直接打开项目中的sdkconfig文件直接配置,如下图所示:
当然也可以通过图形界面进行配置
idf.py menuconfig
**注意这个图形配置界面在CMD中可能不能正常运行,换用 PowerShell 即可
在 CMD 或 PowerShell 中使用 idf.py 命令
当打开 CMD 或 PowerShell 时,窗口会自动添加一些路径,如下图所示:
从图中可以看出,只需要将这些路径添加到环境变量中即可。
六、问题
- 执行策略问题
解决办法:
以管理员身份打开 PowerShell 执行下面命令get-executionpolicy
set-executionpolicy remotesigned
参考文献
Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9
esp-idf 安装(Windows )的更多相关文章
- mac+win10:UEFI分区方式下安装windows 10
小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...
- 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程
@ 目录 一.开机故障描述 二.工具: 三.什么是EFI系统分区 四.如何查看EFI系统分区 五.删除后如何重建系统分区 1.建立未分配空间 2.建立ESP分区 3.按下图,ESP分区的大小200M即 ...
- [原创]Macbook Pro Retina 15吋安装Windows 7和Windows 8.1方法
前言 本以为有Bootcamp神器在手,Macbook装Win系统应该是不在话下,没想到着实折腾了一番.期间因为误操作导致OSX也挂掉进不去只得磁盘全部抹掉网络恢复安装.为了让大家少走弯路,提供个人安 ...
- 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...
- Windows无法完成安装,若要在此计算机上安装Windows,请中心启动安装。
现在安装系统已经很简单了,我觉得U盘启动的话两步就差不多了, 壹:设置BIOS,将U盘启动作为系统默认启动选项 贰:直接进去大白菜之类的,一键安装... 今天终于看到第三部了, 报错:Windows无 ...
- 安装windows服务批处理代码
批处理是DOS时代比较常用的方法之一,目前来说也是一种高效的方法,复制代码到文本文件中,保存并修改文件扩展名为“*.bat”. 安装windows服务批处理代码如下: @echo off set fi ...
- Mac安装Windows 10的简明教程
每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...
- 如何让老Mac机支持USB安装Windows
一些老Mac机的用户想装Windows,却发现自己的系统上的Boot Camp Assistant(以下简称BCA)没有USB安装Windows的选项. 下面以我的MacBook Pro (13-in ...
- Mac安装windows虚拟机攻略
5月初从阿里滚粗,然后失去了公司发的Mac Air.说实话Mac机器确实比windows好用一些,于是怒而买了一个Mac Pro. 结果一个星期后我从学校带出来的联想笔记本又被老师通知要进行固定资产盘 ...
- Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7
第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
随机推荐
- ooday04 Java_面向对象_重写_static
方法的重写(override/overriding):重新写.覆盖 发生在父子类中,方法名相同,参数列表相同 重写方法被调用时,看对象的类型------------这是规定,记住就OK 当派生类觉得超 ...
- 性能浪费的日志案例和使用Lambda优化日志案例
有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费.而Lambda表达式是延迟执行的,这正好可以作为解决方案,提升性能 性能浪费的日志案例 日志可以帮助我们快速的定位问题,记录程序运行过程中的 ...
- php static 和self区别
static(关键字) 类似于 self(关键字) , 但它指向的是被调用的类(Document) 而不是包含类(DomainObject) , static 和 self 的区别: <?php ...
- C# 发送Http请求,传文件和其他参数
/// <summary> /// httpWebRequest post by dic /// </summary> /// <param name="url ...
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
- 8. 利用Ansible快速构建MGR | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...
- 一步一图带你深入剖析 JDK NIO ByteBuffer 在不同字节序下的设计与实现
让我们来到微观世界重新认识 Netty 在前面 Netty 源码解析系列 <聊聊 Netty 那些事儿>中,笔者带领大家从宏观世界详细剖析了 Netty 的整个运转流程.从一个网络数据包在 ...
- 在django中前后端传输数据的编码格式(contentType)
写在前面 在django中,针对前后端传输数据的编码格式,我们主要研究的是post请求:因为get请求传输的数据往往是直接放在url的后面的!如: url?username=zhang&pas ...
- identity4 系列————启航篇[二]
前言 开始identity的介绍了. 正文 前文介绍了一些概念,如果概念不清的话,可以去前文查看. https://www.cnblogs.com/aoximin/p/13475444.html 对一 ...
- Redis常用指令之string、list、set、zset、hash
Redis之五大类型常用指令 redis的一些小知识 redis服务器端口默认是6379 在编译完成后的bin目录下启动服务端:redis-server 客户端连接操作:redis-cli -h lo ...