【ESP32】在Windows下搭建ESP32开发环境

前言

ESP8266玩了很久了,一直都听说出了ESP32。最近就买了两块该开发板。要玩ESP32,首先就要搭建好开发环境。

那么这篇文章就是主要讲解如何在Windows下搭建ESP32的开发环境。

开发平台和工具

IDE环境使用安信可的IDE,目前最新版本是AiThinkerIDE_V0.5

环境下载和安装

首先需要下载AiThinkerIDE_V0.5。解压后主目录有一份说明文件:

1 打开 ConfigTool.exe,点击 Default 可以检测当前所在路径,或手动进行路径配置;

2 配置后点击 Save 进行保存;

3 打开 AiThinker_IDE.exe,可以直接进行固件的编译;

4 点击 OpenWorkSpace.bat 可以快速打开默认的 project 目录;

5 点击 Register 可注册 Cygwin Here 快捷方式到鼠标右键,可实现在当前目录打开终端。

在主目录下找到 cygwin 文件夹和 eclipse 文件夹,进行配置即可。

注意!cygwin 文件夹所在路径不可以有空格或中文!!!

扫描二维码关注公众号,回复: 2665661 查看本文章

配置环境

配置好后打开 AiThinker_IDE.exe 即可。

如果打不开 ConfigTool.exe ,打开 DotNetFx40 Framework 快捷方式下载安装 dotNetFx40_Full_x86_x64.exe。

IDE 默认配置保存在同目录下的 config 文件夹内。

ESP-IDF 下载

esp-idfesp-idf-template可以到github下载,由于git下载可能比较慢,可以到这里下载:http://pan.baidu.com/s/1jIRotBg

下载后请执行 git pull 进行更新。

另外,如果是从 github 下载的 idf 似乎会编译报错,不知道是什么原因,所以 idf 用安信可提供的即可。

导入项目

打开IDE后可能需要导入下载好的 IDF。那么就要进行工程导入。下面步骤是参考安信可官网旧版IDE的导入教程。

  1. 选择 File→Import

Import

  1. 点开C/C++分支,并选中Existing Code as Makefile Project

Existing Code as Makefile

  1. 去除 C++ 支持,选中 Cygwin GCC

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

选中 esp-idf 所在的目录

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

Finish

配置项目

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

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

修改C/C++ Build

此时,已经具备了编译的基础。

下面我们配置 make menuconfigmake flash 两条指令

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

给该 Target 新建一个名称:MenuConfig

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

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

点击 OK 保存

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

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

在下面command 中输入 make flash

点击 OK 保存

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

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

编译项目

首次使用请先执行 make menuconfig

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

  • Build Project :编译项目
  • 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 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --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

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

make app

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

烧写固件

编译后由控制台输出信息可知各个烧录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 即可。

ESP32下载配置参考

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

……
Hello world!
Restarting in 10 seconds...
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.

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

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

其他

  • 本教程所使用的工具可以到这里下载:
    链接: https://pan.baidu.com/s/1b63FuI 密码: dqbh

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

    访问被拒绝

参考资料

猜你喜欢

转载自blog.csdn.net/u012163234/article/details/74537550