ESP32 搭建开发环境

概述:ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了高性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用和不同功耗需求。

软件开发环境:

ESP-IDF (Espressif IoT DevelopmentFramework),包括配置、编译、下载固件到开发板等步骤

http://blog.csdn.net/yannanxiu/article/details/74537550

http://www.javashuo.com/article/p-rvdpohcs-m.html

官方网站:www.espressif.com

更多详情https://www.espressif.com/zh-hans/products/hardware/esp-wrover-kit/overview

入门指南:http://esp-idf.readthedocs.io/en/latest/get-started/get-started-wrover-kit.html

https://www.espressif.com/zh-hans/support/explore/sample-codes

 

中文参考手册http://esp-idf-zh.readthedocs.io/zh_CN/latest/api-reference/index.html

 

开发环境安装步骤

1、下载esp-edf

a、我直接下载的安信可的一体化开发环境(之前esp8266就是安信可的,所以找了一下,果然有支持ESP32)。安信可官网   ,然后找到下方的 开发环境搭建: 如何安装安信可一体化开发环境 , 如何使用安信可 ESP 系列一体化开发环境 , 如何为 ESP 系列模组烧录固件


b、运行AiThinkerIDE_V0.5_Setup.exe会生成一个目录

c、目录下包含:


2、配置工作路径

运行ConfigTool.exe程序

点击Default,然后点击save

3、下载esp-idf

a、进入下面目录

b、打开Cygwin.bat

 

c、cd到你想要下载的文件目录

cd /home/esp-idf

执行Git clone --recursivehttps://github.com/espressif/esp-idf命令获取idf

得到的文件目录含义


4、获取固件开发模板

执行Git clone --recursive https://github.com/espressif/esp-idf-templateapp命令获取idf

然后最好建立一个APP文件夹,将提供的另一个示例程序git进去。

5、补齐漏掉的模块

git submodule init

6、打开配置工作路径

前两个都在当前目录下,自己一个一个打开就行了,第三个就是你刚在下载的esp-idf文件目录了。就选到你下载的名为esp-idf的文件夹就可以。


7、导入项目

a、选择 File→Import

b、点开C/C++分支,并选中Existing Code asMakefile Project

c、去除 C++ 支持,选中 Cygwin GCC

点击Browser,选中 esp-idf所在的目录

1.     点击 Finish 完成 esp-idf 的导入

 

8、配置项目

因为make 只能从 app 目录启动,故我们需要修改整个项目build 的位置

右键项目→Properties ,单击 C/C++ Build,修改如下图

9、下面我们配置 make menuconfig 和 make flash 两条指令

首先新建target,右键项目名称→Maketargets ,选择 Creat

给该Target 新建一个名称:MenuConfig,

在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as thetarget name 并清空 Make target 的内容。

在下面command 中输入 mintty.exe-e make menuconfig。

点击OK 保存

重复上一步骤,新建一个Download的 Target 。

在弹出的页面中取消勾选 Use builder setting ,取消勾选 Same as the targetname 并清空 Make target 的内容。

在下面command中输入 make flash。

点击OK 保存

选中项目,按下快捷键 Shift + F9,弹出刚才新建的两个 Target

鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf

 

首次使用请先执行 make menuconfig

鼠标选中项目名称,点击右键出现菜单:

 

l  Build Project :编译项目

l  Clean Project:清理项目

之后到esp-idf\examples\get-started目录下把 hello_world 文件夹拷贝到 esp-idf 主目录,同时修改名称为 app 。与前面 C/C++ Build 的配置相对应。

编译之前clean一下,然后编译,

当控制台最后输出如下信息即编译成功。(这里为了阅读方便手动换行了一下)

python/cygdrive/f/ESP32/esp-idf/esp-idf_20170410/components/esptool_py/esptool/esptool.py--chip esp32 --port /dev/ttyUSB0

--baud 115200 --beforedefault_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq40m --flash_size detect

0x1000/cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/bootloader/bootloader.bin

0x10000/cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/hello-world.bin

0x8000/cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/partitions_singleapp.bin

1

2

3

4

5

BuildProject 是执行 make all命令。其实,bootloader.bin编译烧写一次即可,所以只需要编译用户程序,编译命令:

make app

1

按照上一小结配置 make menuconfig 命令的方法添加进去即可。

11、烧写固件

编译后由控制台输出信息可知各个烧录bin文件的地址。

文件

地址

所在路径

说明

bootloader.bin

0x1000

app/build/bootloader

二级boot程序,由 SDK 代码编译生成

partitions_singleapp.bin

0x8000

app/build

分区信息,由代码自动生成

app-template.bin

0x10000

app/build

用户主程序,由代码编译生成

官网的工具栏目那里下载Flash下载工具,目前最新版本是V3.4.8,支持ESP32。启动后根据提示选择 ESP32 即可。

之后打开串口,波特率115200,复位ESP32,可以看到下面信息。

……

Hello world!

Restarting in 10seconds...

Restarting in 9 seconds...

Restarting in 8 seconds...

Restarting in 7 seconds...

Restarting in 6 seconds...

Restarting in 5 seconds...

Restarting in 4 seconds...

Restarting in 3 seconds...

Restarting in 2 seconds...

Restarting in 1 seconds...

Restarting in 0 seconds...

Restarting now.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

如果看到上面的信息说明我们的 hello_world 工程烧录成功。

如果没有看到上面的信息,说明没有进入 hello_world 代码,可能原因是 bin 文件烧写的路径不对。旧版本的partitions_singleapp.bin是烧写在0x4000的(输出信息也是说明烧录在0x4000,很坑人),这一点必须要注意。

 

其他

本教程所使用的工具可以到这里下载: 

l 链接: https://pan.baidu.com/s/1b63FuI 密码: dqbh

打开ConfigTool.exe 之后如果出现下面对话框(访问被拒绝),试一下以管理员身份运行。

l