首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何搭建ESP32的开发环境

一、前言

乐鑫的ESP32开发环境跟我们之前用的大多数单片机不太一样,乐鑫他们没有自己的IDE,而是借助于第三方的工具软件来编译程序,现在国内用得比较多的IAR和MDK均不支持直接对乐鑫ESP32的程序直接进行编译,但是这不影响我们去开发ESP32的程序,官方也有比较详细的文档介绍如何搭建开发环境,但是官方有的地方写得也不是很清楚,第一次搭建->编译->烧录成功这个过程肯定是不会这么顺利的,现在笔者就分享下过来人的经验以便后来者快速地进入开发阶段。

二、准备工作

因为我们平时用得大多是Windows系统,所以该篇文章主要是与Windows系统环境为背景介绍开发环境地搭建。

1、工具链

https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20170111.zip

2、开发工具

http://www.eclipse.org/downloads/eclipse-packages/(选择Eclipse IDE for C/C++ Developers)

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

三、获取SDK

解压第二章节中的第1小节所说的MSYS2编译开发环境至本地电脑任意位置(为保险起见,路径最好不要有中文以避免在开发过程中出现不必要的异常!),笔者是直接解压至

D:\Project\ESP32

其次,在本地电脑再新建一个文件夹用于存放ESP32的SDK包,但是你也可以选择不新建而是跟MSYS2放在同一个目录下(笔者就是跟MSYS2在同一目录下),再直接打开MSYS2

D:\Project\ESP32\msys32\msys2_shell.cmd

紧接着,在打开的窗口中直接输入命令进入到MSYS2同级目录下,再键入命令从github获取SDK包

cd "D:\Project\ESP32"

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

然后,等SDK包从github下载完成之后,进入SDK包的目录,即输入以下命令:

cd "D:\Project\ESP32\esp-idf-v2.0-rc1"(esp-idf-v2.0-rc1是SDK包的名称,后续会跟着乐鑫官方地更新而改变)

最后,从github获取模板工程,即输入以下命令:

git clone https://github.com/espressif/esp-idf-template.git app(即在SDK包里面再新建一个app文件夹并将模板工程放入app文件夹中)

下载完成的情况如下:

四、配置SDK路径

在编译烧录程序之前,还要再配置下SDK包的路径,否则工程无法正常编译烧录,直接进入到MSYS2目录下profile.d的文件夹,绝对路径如下:

D:\Project\ESP32\msys32\etc\profile.d(这个地址根据个人将MSYS2解压至不同的地方而不同)

修改profile.d文件夹中的"esp32_toolchain.sh"文件,即在该文件末尾新增加以下内容:

export IDF_PATH="D:/Project/ESP32/esp-idf-v2.0-rc1"(即SDK包的绝对路径地址,注意是左斜杠不是右斜杠!)

修改完成后的情况如下:

最后,保存退出即可。

五、编译烧录

经过以上四个步骤,工作还只是完成了90%,还需要做最后的配置才能真正全部完成。

1、配置下载口

在进行编译烧录之前,我们还需要对下载口进行配置,因为乐鑫采用的是串口下载,所以我们必须提前知道是哪个COM口用于下载,笔者这里用的是COM28,如下图所示:

接着,打开MSYS2,再打开的MSYS2窗口中键入以下命令,即SDK包中app文件夹的绝对路径(这里一定要是应用程序的路径,但是不限于一定要是app,只要是应用程序的路径即可但是还是建议用app这个应用程序,因为它是官方提供的模版工程,而不是SDK包的路径):

cd "/D/Project/ESP32/esp-idf-v2.0-rc1/app"

然后,再输入以下命令进入配置下载口界面:

make menuconfig(如果下载口、模块FLash大小及下载速度不变的话,只须设置一次即可,但是如果是新的应用程序则必须再次设置)

配置下载口,在此之前应先对模块进行上电并连接好模块

配置本地电脑实际串口是串口几就填充COM几

然后保存退出,剩下的可以根据自身的情况做出相应的改变,一般情况下默认即可,除了以后有了更大的FLash之外。

2、编译烧录工程

编译烧录有两种方法,一种是直接在MSYS2进行编译烧录(但是它不能编写代码),另外一种则是在Eclipse进行编译烧录而且它还可以编定或修改代码(推荐使用该方式开发)

2.1、MSYS2

MSYS2

make flash

2.2、Eclipse

在使用Eclipse还需要对其进行设置之后,才可以编译烧录。步骤如下所示:

第一个环境变量名是:“V”,值是:“1”

第二个环境变量名是:“IDF_PATH”,值是:“D:/Project/ESP32/esp-idf-v2.0-rc1”(这里就是SDK包的绝对路径,随SDK包存放的位置不同该值则不同,注意左斜杠不是右斜杠)

环境境变量名是:“PATH”的值全部替换为

D:\Project\ESP32\msys32\usr\bin;D:\Project\ESP32\msys32\mingw32\bin;D:\Project\ESP32\msys32\opt\xtensa-esp32-elf\bin(根据MSYS2存放的位置不同而不同)

将Build command的内容修改为

bash $/tools/windows/eclipse_make.sh

修改 “Command to get compiler specs”的内容为

xtensa-esp32-elf-gcc $ -E -P -v -dD "$"

修改“

Compiler command pattern

”的内容为

xtensa-esp32-elf-(g?cc)([gc]\+\+)(clang)

创建新的编译目标

(flash是编译烧录bootloader、app、partition table)

(app-flash是只编译烧录app)

(clean是清除工程)

至此,Eclipse的环境设置就完成了,接下来我们就可以使用Eclipse编译烧录程序至ESP32中去,当GPIO0拉低同时再按下复位键使模块进行下载模式:

成功下载程序至ESP32中

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111G0EA2G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券