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 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
随机推荐
- sqlDeveloper工具快速入门
场景 我们在连接oracle数据库的时候 常用方式一般有以下三种: pl/sql deceloper navicat sqlDeveloper 其中, pl/sql developer是最经典的,也是 ...
- Jenkins性能优化
jenkins性能优化 1.评估安装插件,插件数量过多,会导致界面加载慢: 2.添加slave节点: 01.禁止在master上构建性能耗费大的任务,可以使用标签的方式使其在slave上构建: 02. ...
- 如何在Rust中打印变量的类型?
#![feature(core_intrinsics)] fn print_type_of<T>(_: T) { println!("{}", unsafe { std ...
- javascript原生style属性分析
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- Java中类成员访问权限修饰符(public、protected、default、private)
1.public(公共的): 任何类都可以进行访问(最不严格). 2.protected(保护的): 同一包内的类以及其子类可以进行访问. 3.default(缺省的): 类中不加任何访问权限限定的成 ...
- EPLAN部件库共享方法
EPLAN部件库共享方法 关键词: EPLAN部件库共享 EPLAN 摘要:在使用EPLAN时经常会碰到自己电脑里的部件库和公司里其他同事的部件库存在差异,如果不是很平凡的同步所有使用的部 ...
- 基于EasyExcel实现的分页数据下载封装
功能概述 主要实现的功能: 1.分页查询,避免一次性查询全部数据加载到内存引起频繁FULL GC甚至OOM 2.当数据量超过单个工作簿最大行数(1048575)时,自动将数据写入新的工作簿 3.支持百 ...
- java-分支结构(四种基本分支结构的认识)
分支结构:有条件的执行某语句,并非每句必走 1)if结构:1条路 2)if...else结构:2条路 3)if...else if结构:多条路 4)switch...case结构:多条路 优点:效率高 ...
- HTTP/3,它来了
HTTP 3.0 是 HTTP 协议的第三个主要版本,前两个分别是 HTTP 1.0 和 HTTP 2.0 ,但其实 HTTP 1.1 我认为才是真正的 HTTP 1.0. 如果你对 HTTP 1.1 ...
- Vue3 组合式 API 中获取 DOM 节点的问题
模板引用 Vue 提供了许多指令让我们可以直接操作组件的模板.但是在某些情况下,我们仍然需要访问底层 DOM 元素.在模板中添加一个特殊的属性ref就可以得到该元素. 访问模板引用 <scrip ...
