【嵌入式硬件Esp32】ESP32学习之在windows下搭建eclipse开发环境
一、所需工具
由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用。其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse。
- 交叉编译工具MSYS32:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
- 示例代码esp-idf:https://github.com/espressif/esp-idf.git
- C/C++版的eclipse:https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2
二、搭建步骤
首先下载交叉编译工具MSYS32,我这里下载后的压缩包为“esp32_win32_msys2_environment_and_toolchain-20180110.zip”,解压缩得到文件夹“msy32”,双击打开文件夹里的“msys2.exe”,该工具和可以使用Linux命令,进入到你要放置esp-idf示例的文件夹,
使用命令:git clone --recursive https://github.com/espressif/esp-idf.git
获取esp-idf示例代码。如下图所示:
进入msys32的配置文件夹,
我的是“D:\ESP32\msys32\etc\profile.d”,创建文件“export_idf_path.sh”,并输入内容“export IDF_PATH=”D:\ESP32\esp\esp-idf””。
该步骤是将配置esp-idf工作路径。
打开文件夹“msys32”下的“mingw32.exe”,
使用命令cp -r ./esp-idf/examples/get-started/hello_world .
,将示例例程“hello_world”复制到当前文件夹。
进入“hello_world”文件夹,使用命令make menuconfig
等待进入配置界面
配置和ESP32开发版连接的串口
配置好了之后,使用make命令编译hello_world项目,首次编译较慢,需要耐心等待。
编译好了之后可以直接使用make flash命令进行烧写。之所以进行上面编译和烧写命令,是为了验证所下载的示例没有问题,也可以使用mingw32.exe工具进行开发,但是不美观。下面介绍使用eclipse进行开发。
下载C/C++版的eclipse(https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2)
下载完之后解压缩,得到eclipse,打开eclipse,导入hello_world项目。
配置编译环境
重复上述步骤,添加变量V,值为1
编辑PATH变量,添加“D:\ESP32\msys32\usr\bin”,“D:\ESP32\msys32\mingw32\bin”和“D:\ESP32\msys32\opt\xtensa-esp32-elf\bin”
指定编译命令:bash ${IDF_PATH}/tools/windows/eclipse_make.sh
配置编译工具
到此,交叉编译工具已经配置好了,但是还不能编译hello_world项目,还需将必要的头文件加入到项目中。
- ${IDF_PATH}/components/esp32/include
- ${IDF_PATH}/components/newlib/include
- ${IDF_PATH}/components/freertos/include
- ${IDF_PATH}/components/nvs_flash/include
- ${IDF_PATH}/components/driver/include
- ${IDF_PATH}/components/log/include
- ${IDF_PATH}/components/spi_flash/include
此时在eclipse中的配置已经好了,但是编译可能还会出错,需要关闭eclipse,打开“mingw32.exe”并进入到hello_world项目文件夹,使用命令make menuconfig进行配置。
配置好了之后,再次打开eclipse编译hello_world项目,发现此时可以编译了。
编译好了之后可以烧写了
至此完成!
最新文章
- AngularJS学习之模型
- 分享原创powershell脚本小工具ctracert.ps1
- Android要点记录
- Ehcache(07)——Ehcache对并发的支持
- 分页 page
- SQL语法集锦一:显示每个类别最新更新的数据
- 谈JSON在Ajax中的使用
- wikioi 1034 家 实时动态的网络流量(费用流)
- DotNetZip 压缩下载
- Asp.Net 常用工具类之Office—Excel导出(4)
- CentOS 7安装
- 54. Spiral Matrix(中等)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)
- 介绍一款自动给添加不同浏览器CSS3前缀的插件~Autoprefixer(附其他前端开发插件)
- linux上安装mysql5.7
- Linux 安装软件之后设置PATH环境变量
- css进行网站布局
- Android获取网络状态
- [filesystem][archlinux][disk encryption][btrfs] btrfs
- Linux命令行获取本机外网IP地址
热门文章
- 使用druid连接池的超时回收机制排查连接泄露
- WINDOWS 10下64位本地 ORACLE 11 G安装完整教程
- Luogu4689 [Ynoi2016]这是我自己的发明 【莫队】
- PHP全栈学习笔记26
- Python3 输入和输出(二)
- 【2018.08.01】(表/栈/队列/大小顶堆)学习Stark和Queue算法小记
- 2018-2019 20175234 实验三《敏捷开发与XP实践》实验报告
- [RK3399] 汇顶gt9xx触摸屏在RK原始代码调试
- Filename too long Resolution
- OpenTK学习笔记(2)-工作窗口的三种方法创建方法(winfrom窗体控件形式创建)