【ESP32】在Windows下搭建ESP32开发环境
来源:互联网 发布:网络安全检查责任书 编辑:程序博客网 时间:2024/06/03 10:03
前言
ESP8266玩了很久了,一直都听说出了ESP32。最近就买了两块该开发板。要玩ESP32,首先就要搭建好开发环境。
那么这篇文章就是主要讲解如何在Windows下搭建ESP32的开发环境。
开发平台和工具
- Windows 10 x64
- AiThinkerIDE_V0.5
- cygwin
- eclipse
- esp-idf
- Flash 下载工具 V3.4.8
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-idf 和 esp-idf-template可以到github下载,由于git下载可能比较慢,可以到这里下载:http://pan.baidu.com/s/1jIRotBg
下载后请执行 git pull
进行更新。
另外,如果是从 github 下载的 idf 似乎会编译报错,不知道是什么原因,所以 idf 用安信可提供的即可。
导入项目
打开IDE后可能需要导入下载好的 IDF。那么就要进行工程导入。下面步骤是参考安信可官网旧版IDE的导入教程。
- 选择 File→Import
- 点开C/C++分支,并选中Existing Code as Makefile Project
- 去除 C++ 支持,选中 Cygwin GCC
点击Browser,选中 esp-idf 所在的目录
- 点击 Finish 完成 esp-idf 的导入
配置项目
因为 make 只能从 app 目录启动,故我们需要修改整个项目 build 的位置
右键项目→Properties ,单击 C/C++ Build
,修改如下图
此时,已经具备了编译的基础。
下面我们配置 make menuconfig
和 make 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 detect0x1000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/bootloader/bootloader.bin0x10000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/hello-world.bin0x8000 /cygdrive/f/ESP32/esp-idf/esp-idf_20170410/app/build/partitions_singleapp.bin
Build Project 是执行 make all
命令。其实,bootloader.bin
编译烧写一次即可,所以只需要编译用户程序,编译命令:
make app
按照上一小结配置 make menuconfig
命令的方法添加进去即可。
烧写固件
编译后由控制台输出信息可知各个烧录bin文件的地址。
到官网的工具栏目那里下载Flash下载工具,目前最新版本是V3.4.8,支持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 之后如果出现下面对话框(访问被拒绝),试一下以管理员身份运行。
参考资料
- 如何使用安信可 ESP 系列一体化开发环境
- 如何为 ESP 系列模组烧录固件
- 【ESP32】在Windows下搭建ESP32开发环境
- Bash on Windows 搭建ESP32开发环境
- ESP32 Windows开发环境以及搭建
- ESP32 Linux开发环境搭建
- 深入浅出ESP32开发之一Linux下ESP32交叉编译环境搭建
- ESP32编译环境搭建【Windows平台】
- ESP32环境搭建
- 如何搭建esp32的arduono开发环境
- ESP32 SDK 开发环境的搭建
- 搭建 ESP32 开发环境 — Hello World
- ESP32开发笔记-跟着小狂玩ESP32之编译环境搭建篇
- ESP32开发笔记-跟着小狂玩ESP32之编译环境搭建篇
- 搭建 ESP32 开发环境 —— Hello World
- Ubuntu:搭建ESP32 MicroPython编译环境
- ESP32无线模块开发
- 【ESP32】M5Stack ESP32 套件初体验——开发环境脱坑记
- 【ESP32视频分享3】Ubuntu使用 Eclipse开发ESP32程序
- 【小狂系列】跟着小狂玩ESP32之编译环境搭建篇
- codeforces 505C Mr. Kitayuta, the Treasure Hunter
- 使用HttpCore(HttpComponents)在android上构建webService
- java设计模式--装饰模式
- <mvc:resources> 标签
- Mysql使用
- 【ESP32】在Windows下搭建ESP32开发环境
- 人工智能也不会淘汰设计师
- chrome插件入门 使用chrome插件修改页面属性
- UVa 10935 解题报告
- 斯坦福大学公开课机器学习课程(Andrew Ng)三欠拟合与过拟合
- 全局原子实现共享数据
- springMVC学习(笔记一)
- 我是码农_我适合创业吗?
- maven 中pom.xml文件标签学习