esp32的开发有两种环境,分别是 Arduino 和 esp32-idf。

Arduino 是在 esp32-idf 基础上进行封装的,虽然使用起来比较方便,但是能自由更改的就变少了,适合新手使用。

esp32-idf 开发难度会大一些,但是可操作空间也会大一些。

一、准备材料

二、esp-idf安装

esp-idf安装有两种方式,分别是手动安装和 esp-idf 安装工具安装。

以前还没有 esp-idf 安装工具时,在Windows环境下安装就会异常困难,但是现在推荐使用 esp-idf 安装工具安装,将会异常简单。

2.1 esp-idf工具安装器

  1. 下载esp-idf工具安装器

  2. 根据需要选择安装包,因为我不使用乐鑫的idf编辑器,所以我下载了最新的idf

  3. 双击安装包

  4. 选择语言

  5. 同意协议

  6. 检查安装环境

  7. 设置工具的安装路径

  8. 选择需要安装的组件

  9. 安装

  10. 安装完成

2.2 esp-idf 手动安装

  1. 获取 esp-idf

    GitHub:https://github.com/espressif/esp-idf

    git 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
  2. Cmake 安装

    详细安装见:https://www.cnblogs.com/jzcn/p/16733956.html

  3. Ninja/idf.py 安装

    详细安装见:Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9

    注意:Ninja目前只支持64位的系统,如果是32位的系统只能使用idf.py

  4. Python 安装

    详细安装见:https://www.cnblogs.com/jzcn/p/16733969.html

    Python 安装完成后,从 Windows 中打开“命令提示符”窗口,并运行以下命令:

    pip install --user pyserial
  5. 工具链下载

    下载地址:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip

  6. 完成

    到此环境需要的工具基本就安装完成了,对于不熟悉这些工具的朋友来说还是比较麻烦的,在esp-idf也写了自动安装的脚本,详细见2.3

2.3 esp-idf 脚本安装

  1. 下载 esp-idf

    git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git

    esp-idf 从GitHub中下载完成后,可以看到其中有 install 和 export 两个文件,如下图所示:

  2. 执行脚本安装

    进入 esp-idf 路径下执行命令

    install.bat esp32s3         # CMD中执行
    ./install.ps1 esp32s3 # Windows PowerShell

    注意:

    可以一次安装多个目标,如./install.sh esp32,esp32c3,esp32s3

    安装的工具默认路径是 %USERPROFILE%\.espressif, 想要更改安装位置,请在执行命令前将自己需要安装的路径设置环境,变量名为 IDF_TOOLS_PATH

  3. 配置环境变量

    在 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 CMDESP-IDF 4.4 PowerShell进入项目目录,执行下面命令

  1. 配置开发板信息

    idf.py set-target esp32s3
  2. 编译工程

    在项目主路径下执行下面命令

    idf.py build
  3. 下载

    idf.py -p PORT [-b BAUD] flash

    idf.py -p PORT COM7 flash

  4. 打开串口显示窗口

    idf.py -p PORT monitor

    注意:运行idf.py -p PORT flash monitor命令,可以一次性执行构建、烧录和监视过程。

五、使用技巧

  1. 配置 esp32 信息

    配置 esp32 相关信息可以直接打开项目中的sdkconfig文件直接配置,如下图所示:

    当然也可以通过图形界面进行配置

    idf.py menuconfig

    **注意这个图形配置界面在CMD中可能不能正常运行,换用 PowerShell 即可

  2. 在 CMD 或 PowerShell 中使用 idf.py 命令

    当打开 CMD 或 PowerShell 时,窗口会自动添加一些路径,如下图所示:



    从图中可以看出,只需要将这些路径添加到环境变量中即可。

六、问题

  1. 执行策略问题



    解决办法:

    以管理员身份打开 PowerShell 执行下面命令
    get-executionpolicy
    set-executionpolicy remotesigned

参考文献

Ninja安装:https://www.jianshu.com/p/2f93fd6a64c9

esp-idf 安装(Windows )的更多相关文章

  1. mac+win10:UEFI分区方式下安装windows 10

    小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...

  2. 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程

    @ 目录 一.开机故障描述 二.工具: 三.什么是EFI系统分区 四.如何查看EFI系统分区 五.删除后如何重建系统分区 1.建立未分配空间 2.建立ESP分区 3.按下图,ESP分区的大小200M即 ...

  3. [原创]Macbook Pro Retina 15吋安装Windows 7和Windows 8.1方法

    前言 本以为有Bootcamp神器在手,Macbook装Win系统应该是不在话下,没想到着实折腾了一番.期间因为误操作导致OSX也挂掉进不去只得磁盘全部抹掉网络恢复安装.为了让大家少走弯路,提供个人安 ...

  4. 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)

    相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...

  5. Windows无法完成安装,若要在此计算机上安装Windows,请中心启动安装。

    现在安装系统已经很简单了,我觉得U盘启动的话两步就差不多了, 壹:设置BIOS,将U盘启动作为系统默认启动选项 贰:直接进去大白菜之类的,一键安装... 今天终于看到第三部了, 报错:Windows无 ...

  6. 安装windows服务批处理代码

    批处理是DOS时代比较常用的方法之一,目前来说也是一种高效的方法,复制代码到文本文件中,保存并修改文件扩展名为“*.bat”. 安装windows服务批处理代码如下: @echo off set fi ...

  7. Mac安装Windows 10的简明教程

    每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...

  8. 如何让老Mac机支持USB安装Windows

    一些老Mac机的用户想装Windows,却发现自己的系统上的Boot Camp Assistant(以下简称BCA)没有USB安装Windows的选项. 下面以我的MacBook Pro (13-in ...

  9. Mac安装windows虚拟机攻略

    5月初从阿里滚粗,然后失去了公司发的Mac Air.说实话Mac机器确实比windows好用一些,于是怒而买了一个Mac Pro. 结果一个星期后我从学校带出来的联想笔记本又被老师通知要进行固定资产盘 ...

  10. Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7

    第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示

随机推荐

  1. 使用 Abp.Zero 搭建第三方登录模块(三):网页端开发

    ​简短回顾一下网页端的流程,总的来说网页端的职责有三: 生成一个随机字符作为鉴权会话的临时Token, 生成一个小程序码, Token作为参数固化于小程序码当中 监控整个鉴权过程状态,一旦状态变为AU ...

  2. 作业二、安装CentOS7.9

    一.安装环境 1.VMware Workstation 16 Pro 2.CentOS7.9 二.部署系统 步骤1.进入VMware,点击创建新的虚拟机 步骤2.进入新建虚拟机向导,选择典型(推荐) ...

  3. NOI / 1.4编程基础之逻辑表达式与条件分支讲解-01:判断数正负

    总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 给定一个整数N,判断其正负. 输入 一个整数N(-109 <= N <= 109) 输出 如果N > 0, 输出 ...

  4. 【每天学一点-02】创建Node.js的第一个应用

    1.引入require模块,使用createServer()创建服务器 [server.js]文件 var http = require('http'); http.createServer(func ...

  5. [javaweb]javaweb中HttpServletResponse实现文件下载,验证码和请求重定向功能

    HttpServletResponse web服务器接受到客户端的http请求之后,针对这个请求,分别创建一个代表请求的httpServletRequest和代表响应的HttpServletRespo ...

  6. 清理忽略springboot控制台启动的banner和启动日志

    清理忽略springboot控制台启动的banner和启动日志 1.springboot的banner spring: main: banner-mode: off 2.mybatis-plus的ba ...

  7. Sampler类定义

    此是所有采样的基类,这样定义的好处是,我们可以分别测试每一个采样算法. 类定义: #pragma once #ifndef __SAMPLER_HEADER__ #define __SAMPLER_H ...

  8. 如果Controller里有私有的方法,能成功访问吗?

    目录 背景 原因 cglib代理的锅 换成JDK动态代理呢 参考 背景 写代码的时候,复制粘贴的时候,没注意到方法的属性,就导致了Controller里有了一个私有的方法,然后访问这个接口的时候就报了 ...

  9. 面试突击73:IoC 和 DI 有什么区别?

    IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的.那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看. 1.IoC 介 ...

  10. selenium结合jmeter进行测试

    背景 现在市面上有众多成熟的性能测试工具,JMeter就是其中之一.可以通过JMeter快速将已有的Selenium代码以性能测试的方式组织起来,并使用JMeter丰富的报表功能展示测试结果. 相关链 ...