ESP32学习笔记(一) 环境搭建与下载
ESP32学习笔记(一) 环境搭建与下载
作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处
前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好
首先,我们把ESP32模块连接上电脑,如果没有ESP32底板的话,则需连接一个usb转ttl模块,接下来我们下载好两个压缩包:

Msys32为ESP32的下载工具链和仿真环境,可以从如下网址下载
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20160816.zip
esp32_idf为官方的固件包 可从git上同步
我们将msys32解压后放在c盘根目录,运行msys32 目录下的 msys2_shell.cmd

我们进入了一个类似命令行的页面,其实官方提供的这个下载和仿真工具其实是MSYS 因为之后的开发需要在Shell中执行一些linux下的命令 所以使用这样一个工具模拟一个unix的模拟环境。
MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包,提供了部分 Unix 工具
官方英文解释:MSYS, a contraction of "Minimal SYSTEM", is a Bourne Shell command line interpreter system. Offered as an alternative to Microsoft's cmd.exe, this provides a general purpose command line environment, which is particularly suited to use with MinGW, for porting of many Open Source applications to the MS-Windows platform; a light-weight fork of Cygwin-1.3, it includes a small selection of Unix tools, chosen to facilitate that objective.
接下来我们正式进入命令行操作:
- 创建文件夹,同步固件包(已经下载好固件包的可直接解压到c盘根目录,并跳过此步)
输入
mkdir esp32_idf,在c盘根目录创建 esp32_idf 文件夹,
输入
cd /c/esp32_idf/
,将目录换到该文件夹
克隆 idf 固件库
之后输入 git clone --recursive https://github.com/espressif/esp-idf.git
这个需要一定时间,中途可能会报错,但是并没有什么影响。
- 添加编译所需的环境变量
打开 C:\msys32\etc\profile.d\esp32_toolchain.sh(使用记事本打开),添加
export IDF_PATH="C:/esp32_idf/esp-idf"一行,
保存并退出。
- 配置MENU CONFIG
该步骤中我们将进行一些编译有关的参数配置,ESP32官方提供了一个图形化配置界面,我们将使用他
我们先输入cd /c/esp32_idf/esp-idf/examples/01_hello_world
以为01_hello_world为根目录,对官方提供的hello world这个项目进行编译配置。
输入 make menuconfig ,等待界面出现

选择" Serial flasher config"并按下回车键
接下来选择 Default Serial Port 的时候继续按回车
输入COM15 (我的电脑为串口15,连接到其他串口修改为自己的串口号。可先使用串口助手确定ESP32所连接到的串口号)。

其他的不用修改
输入后用向右方向键选择下方的exit,回车之后再选择exit 回车后即可退出。最后还按一次回车保存设置参数。
- 进行编译与下载
输入 make flash
编译程序,程序编译完成后自动进入下载环节。当出现如下窗口时说明已经下载成功。然后按下复位键即可运行程序。
此时我们输入cat COM15
打开串口观察到:
出现我们想要看到的hello world
到此基本的 Linux 仿真环境和交叉编译工具链的配置已经完成
但是我们需要的不仅仅是一个编译下载工具,我们还需要一个ide才能开发
接下来的我们安装eclipse。
- Eclipse的安装
我们从eclipse官网上下载好eclipse C/C++ 编译器的安装包,并将安装包解压到c盘根目录,打开eclipse。

关闭欢迎界面,点击左侧project Explorer 右键选择new —>makefile project ... 那一项
未完待续…
ESP32学习笔记(一) 环境搭建与下载的更多相关文章
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- 我的Java学习笔记 -开发环境搭建
开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- Django学习笔记 开发环境搭建
为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
- Web安全测试学习笔记 - vulhub环境搭建
Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...
- SpringData JPA的学习笔记之环境搭建
一.环境搭建 1.加入jar包 spring jar+jpa jar +springData jar >>SpringData jar包 2.配置applicationCont ...
- Mybatis学习笔记之---环境搭建与入门
Mybatis环境搭建与入门 (一)环境搭建 (1)第一步:创建maven工程并导入jar包 <dependencies> <dependency> <groupId&g ...
- 【Django学习笔记】-环境搭建
对于初学django新手,根据以下步骤可以快速进行Django环境搭建 虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque. ...
- go 学习笔记之环境搭建
千里之行始于足下,开始 Go 语言学习之旅前,首先要搭建好本地开发环境,然后就可以放心大胆瞎折腾了. Go 的环境安装和其他语言安装没什么特别注意之处,下载安装包下一步下一步直到完成,可能唯一需要注意 ...
随机推荐
- Java 集合之LinkedList源码分析
1.介绍 链表是数据结构中一种很重要的数据结构,一个链表含有一个或者多个节点,每个节点处理保存自己的信息之外还需要保存上一个节点以及下一个节点的指针信息.通过链表的表头就可以访问整个链表的信息.Jav ...
- git简单教材
0)初始化 $ git config --global user.name "xxx" $ git config --global user.email "xxx@gma ...
- .NET 相依性注入
发布<.NET 依賴注入>电子书 beta 版 书籍进度 本书目前已经开始发行 beta 版,完成进度约 70%.(我希望这本书不要超过 200 页,目前看起来应该没问题.) 简介 本书内 ...
- 给Angularjs配上Requirejs
给Angularjs配上Requirejs 需要考虑的事情: 1.js.css.template都按需加载,js主要就controller: * js和css都可以用requirejs和它的插件解决, ...
- 使用 ArcGIS Online和APP进行监控操作和数据采集
主要介绍的App是Operations Dashboard for ArcGIS 和 Collector for ArcGIS,它们 提高了组织内日常操作的效率.精度和响应速度. 已经购买了 ArcG ...
- 如果gen.lib.rus.ec这个电子书下载站上不去了,那就用这个吧
如果著名的gen.lib.rus.ec这个电子书下载站上不去了,那就用这个吧: 万千合集站 http://www.hejizhan.com/ 里面除了镜像索引了gen.lib.rus.ec上的所有英文 ...
- JS代码放在head和body中的区别分析
最近一直在忙工作,没有时间来写博客了,不过今天做网站的时候碰到一个问题就是JS脚本存放的位置不同其效果不同.起初我没在意这个问题,后来一直解决不了,通过上网与查资料问同事,终于我明白了,原来我碰到了这 ...
- 应用facebook .net sdk
1.本博客主要介绍如何应用facebook .net SDK,实现发帖.点赞.上传照片视频等功能,更多关于facebook API,请参考:https://developers.facebook.co ...
- Oracle 10g数据库概述
一.Oracle 10g简介 1.Oracle 10g数据库是首个为网咯计算而设计的数据库(甲骨文公司的一款关系数据库管理系统). 2.分为以下几个版本: a.Oracle 10g数据库标准版 1 b ...
- 从异步更新进度想起的事儿——IProgress
今天,在群里向大家请教了这样一个问题:“两个对象(类.窗体或什么)之间,要完成比较频繁的报告进度更新都有哪些好的方式”,Somebody 跳出来给出了个“IProgress”,没了解过,后面围绕着它讨 ...