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 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
随机推荐
- CodeForce——Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2)前三道题目题解
目录 A: B: C: 题目链接 A Divide and Multiply standard input/output 1 s, 256 MB 正在上传-重新上传取消 x13036 B Willia ...
- Linux—系统基础一
Linux系统基础(一) Linux的基本原则: 由目的单一的小程序组成,组合小程序完成复杂任务: 一切皆文件: 配置文件保存为纯文本格式. 1.shell 1.1 shell简介 Shell俗称壳( ...
- linux history命令优化
主要功能: 1, 可以记录哪个ip和时间(精确到秒)以及哪个用户,作了哪些命令 2,最大日志记录增加到4096条 把下面的代码直接粘贴到/etc/profile后面就可以了 #history modi ...
- devops-4:Jenkins基于k8s cloud和docker cloud动态增减节点
Jenkins管理动态节点 上文介绍Jenkins增加静态agent的步骤,除了静态增加外,还有动态管理的功能,两者最大的差异在于动态可以在有job运行时,临时加入一个agent到jenkins ma ...
- OS模块中获取当前文件的绝对路径的相关方法
os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...
- 痞子衡嵌入式:聊聊i.MXRT1170双核下不同GPIO组的访问以及中断设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170双核下不同GPIO组的访问以及中断设计. 在双核 i.MXRT1170 下设计应用程序,有一个比较重要的考虑点就是外 ...
- Ubuntu添加非root用户到Docker用户组
前言 首先平常公司的Linux生产环境为了防止误操作导致灾难性问题,一般都不会给我们开发开放root管理员的账号权限.所以平常在Ubuntu的普通用户登录的时候,要操作Dcoker一般都需要带上sud ...
- Luogu3275 [SCOI2011]糖果 (差分约束)
逆序建超级源快十倍还行 #include <cstdio> #include <iostream> #include <cstring> #include < ...
- Luogu3919 【模板】可持久化数组(主席树)
主席树模板题,注意空间\((n+m) \log(n)\) #include <iostream> #include <cstdio> #include <cstring& ...
- 在 Linux 系统中安装 Node.js 的流程
下载资源包 在 NodeJS 官网下载压缩包: 将压缩包中的 node-v14.17.0-linux-x64.tar 拖出来,只需要里面的 tar 压缩包. 解压到 Linux 目录中 解压压缩包到当 ...
