ESP32 windows开发环境的搭建(官方方法)
首先保证电脑中的已经下载了git客户端,没有的自行去https://git-scm.com/下载
STEP1:
获得编译工具链
Windows没有内置的“make”环境,所以安装工具链你将需要一个兼容GNU的环境。我们使用MSYS2环境来提供这个。你不需要一直使用这个环境,你可以使用eclipse或arduio等前端软件进行编程,但是这个工具链其实是一种在后台中运行的。
快速设置是从dl.espressif.com下载Windows all-in-one工具链和MSYS zip文件:
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20171123.zip(如果最后一部编译显示无规则,则是这里的工具链更新了,请联系我)
将其解压后 打开git cmd ,然后一路cd 到解压后的文件夹(路径中不要有中文,我这里直接解压到桌面的esp32文件夹中

STEP2:
获得ESP-IDF
通过指令
git clone --recursive https://github.com/espressif/esp-idf.git
将ESP-IDF下载到你的电脑中,它是ESP32特定的API /库。它们由Espressif在ESP-IDF存储库中提供。

将之前下载得到的编译工具链移动到C:\Users\li\esp-idf中进行解压缩,打开C:\Users\li\Desktop\ESP32\msys32下的mingw32.exe文件可得到如下窗口

STEP3:
将IDF_PATH添加到用户配置文件
用户配置文件脚本包含在C:\Users\li\Desktop\ESP32\msys32\etc\profile.d/目录中。每次打开MSYS2窗口时都会执行它们。
在C:\Users\li\Desktop\ESP32\msys32\etc\profile.d/目录中创建一个新的脚本文件。将它命名为
export_idf_path.sh。标识ESP-IDF目录的路径。C:\Users\li\Desktop\ESP32\msys32\esp-idf
将
export命令添加到脚本文件,例如:

请记住在原始Windows路径中用/替换\。
4.保存脚本文件。
5.关闭MSYS2窗口并重新打开。检查是否IDF_PATH设置,键入:
printenv IDF_PATH

打印出脚本文件中先前输入的路径。
当然,你也可以在每次编译前手动用
export IDF_PATH = “C:/ msys32 / home / user-name / esp / esp-idf”
设置。
STEP4:
启动项目
现在您已准备好准备ESP32的应用程序。要快速开始,我们将使用IDF中的C:\Users\li\Desktop\ESP32\msys32\esp-idf\examples\get-started\hello_world项目来进行开发环境的验证。
在C:\Users\li\Desktop\ESP32\msys32新建一个esp文件夹,将将get-started / hello_world复制到~/esp目录中
您还可以在ESP-IDF 的examples目录下找到一系列示例项目。这些示例项目目录可以以与上述相同的方式进行复制,以开始您自己的项目。
重要
STEP5:
建立与ESP32的串行连接
使用USB电缆将ESP32板连接到PC。如果设备驱动程序未自动安装,请在ESP32板(或外部转换器加密狗)上识别USB至串行转换器芯片,在互联网上搜索驱动程序并进行安装。
以下是Espressif生产的ESP32板的Windows和MacOS驱动程序的链接:
- ESP32核心板 - CP210x USB至UART桥接VCP驱动程序
- ESP32 WROVER KIT和ESP32演示板 - FTDI虚拟COM端口驱动程序
对于Linux,合适的驱动程序应该已经与操作系统捆绑在一起了。
下图显示了ESP32 DevKitC的串行端口

此时打开/dev查看串口号

图中红色的部分是你电脑上可用的串口号,一般是你的com号减一,比如我的是com3,映射到里边就是ttyS2。然后把其输入到里边。
STEP6:
配置
在终端窗口中,hello_world通过键入进入应用程序目录。然后启动项目配置工具:cd ~/esp/hello_worldmenuconfig

如果以前的步骤已经正确完成,将显示以下菜单:

此时便可以像linux下一样对esp32进行工具的设置了,这里重点配置SDK tool configuration

第二个是波特率设置,第三个不知道啥,先不管,第四个是SPI FLASH的模式,这个在配置eclipse的时候不重要,但是你要用乐鑫的下载工具,不好意思,这个你就要记住了,第五个是SPI的速度。记住就行,改完之后,可以保存一下。
STEP7:
烧写程序进入flash
现在一切配置完成后就可以在指令框输入
make flash
即可直接进行烧写了(,本文先讲解如何使用工具链烧写,了解整体设计流程,下片文章将会将如何搭建eclipse开发环境构建和烧写),不得不吐槽的是window使用工具链编译相对于linux来说真的是慢了很多。
烧写完成的结果是这样的

STEP8:
检测是否烧写成功
打开串口调试助手或者直接在命令框中输入
make monitor
打开监控软件。可以看到如下工作效果。


可以看到输出结果,说明程序已经成功的烧写到了开发板中。
ESP32 windows开发环境的搭建(官方方法)的更多相关文章
- Objective-C在windows开发环境的搭建
转自 http://www.hdj.me/objective-c-in-windows 安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objecti ...
- windows系统下ruby开发环境的搭建方法
ruby是一种简单快捷的面向对象的脚本语言,非常直观.下面说一下windows系统下ruby开发环境的搭建方法. 工具/原料 rubyinstaller.exe 方法/步骤 1 到如下网站去下载最新的 ...
- windows Android开发环境快速搭建和部署
windows安装Android的开发环境相对来说比较简单,本文写给第一次想在自己Windows上建立Android开发环境的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对初级 ...
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- Java开发环境的搭建02——IntelliJ IDEA篇(Windows)
1.IntelliJ IDEA的下载与安装 IntelliJ IDEA简称IDEA,由JetBrains公司开发,是java语言开发的集成环境,也是目前业界被公认的最好的java开发工具之一.尤其在智 ...
- windows上JSP开发环境全搭建
JSP开发环境全搭建 最近需要用到JSP做项目,所以要配置JSP的开发环境,总结一下配置步骤以备以后再配置需要. 配置JAVA开发环境,配置JDK 下载JDK,在这里下载开发所需的JDK,可以根据自己 ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- Java开发环境的搭建01——Eclipse篇(Windows)
搭建环境是换项目组和新入职的开发入项都必须面临的一件事情,搭搭环境,一天就过去了...本着不浪费生命不做重复的无用功,在这里写写环境搭建的基本功,这篇是介绍Java环境搭建,常见的开发IDE无非就两种 ...
- windows下vue开发环境的搭建
一 介绍: vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库 ...
随机推荐
- NodeJS client code websocket
var WebSocketClient = require('websocket').client; var client = new WebSocketClient(); client.on('co ...
- android 开发 Intent使用技巧点
判断Intent是否为null: if (intent.resolveActivity(getPackageManager())!=null) { //判断Intent是否为null // Inten ...
- openstack网络
OpenStack中neutron的2种ip.3种管理模式 Nova有固定IP和浮动IP的概念.固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址. Nova支持3种 ...
- JavaScript 的基础学习(一)
JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.( ...
- 同步锁Lock(互斥锁)
同步锁作用: 在我当前包含(lock.acquire() 和 lock.release()之间 )的代码没有执行完成,不进行线程切换,必须等我执行完了,下一个线程才能继续执行(为什么要用同步锁,假如我 ...
- Fiddler 抓包工具怎么使用?怎么在Android手机端的APP抓包
https://blog.csdn.net/loner_fang/article/details/83309266 参考这个人的微博上有fiddler主要功能使用的步骤. 序章 Fiddler是一个蛮 ...
- JDK中的注解简单了解
0.注解(注解是给编译器看的东东) 注解的定义方式是@Interface,注解属性定义是类似于普通类的方法定义的,注解属性赋值是使用default关键字完成的,如下图所示 注解在定义时可以给默认值,也 ...
- 微信小程序页面跳转 的几种方式
最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式 一.wx.navigateTo(OBJECT) 这是最普遍的一种跳转方式,其官方解释为:“保留当前页面,跳转到应用内的某个页面” 类 ...
- Java的学习05
今天学习了,Java中的LinkedList类.这个类需要用到链表的知识,以前一直以为,只有c/c++有链表.今天才知道,原来其他语言.也有链表,而且还是双向链表. /** * 自定义一个链表 * @ ...
- 原子性: Interlocked 类
public class CounterNoLock:CountBase { private int _count; public int Count { get { return _count; } ...