【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 文件夹所在路径不可以有空格或中文!!!

配置环境

配置好后打开 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

参考资料


本文首发于CSDN:http://blog.csdn.net/yannanxiu/article/details/74537550

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容