概述: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
https://www.cnblogs.com/zhinianzhizhan/p/7294589.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