一、所需工具

由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用。其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse。

二、搭建步骤

首先下载交叉编译工具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项目,还需将必要的头文件加入到项目中。

  1.  
    ${IDF_PATH}/components/esp32/include
  2.  
    ${IDF_PATH}/components/newlib/include
  3.  
    ${IDF_PATH}/components/freertos/include
  4.  
    ${IDF_PATH}/components/nvs_flash/include
  5.  
    ${IDF_PATH}/components/driver/include
  6.  
    ${IDF_PATH}/components/log/include
  7.  
    ${IDF_PATH}/components/spi_flash/include


此时在eclipse中的配置已经好了,但是编译可能还会出错,需要关闭eclipse,打开“mingw32.exe”并进入到hello_world项目文件夹,使用命令make menuconfig进行配置。 
 
配置好了之后,再次打开eclipse编译hello_world项目,发现此时可以编译了。

编译好了之后可以烧写了 

 
 
 
至此完成!

最新文章

  1. AngularJS学习之模型
  2. 分享原创powershell脚本小工具ctracert.ps1
  3. Android要点记录
  4. Ehcache(07)——Ehcache对并发的支持
  5. 分页 page
  6. SQL语法集锦一:显示每个类别最新更新的数据
  7. 谈JSON在Ajax中的使用
  8. wikioi 1034 家 实时动态的网络流量(费用流)
  9. DotNetZip 压缩下载
  10. Asp.Net 常用工具类之Office—Excel导出(4)
  11. CentOS 7安装
  12. 54. Spiral Matrix(中等)
  13. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)
  14. 介绍一款自动给添加不同浏览器CSS3前缀的插件~Autoprefixer(附其他前端开发插件)
  15. linux上安装mysql5.7
  16. Linux 安装软件之后设置PATH环境变量
  17. css进行网站布局
  18. Android获取网络状态
  19. [filesystem][archlinux][disk encryption][btrfs] btrfs
  20. Linux命令行获取本机外网IP地址

热门文章

  1. 使用druid连接池的超时回收机制排查连接泄露
  2. WINDOWS 10下64位本地 ORACLE 11 G安装完整教程
  3. Luogu4689 [Ynoi2016]这是我自己的发明 【莫队】
  4. PHP全栈学习笔记26
  5. Python3 输入和输出(二)
  6. 【2018.08.01】(表/栈/队列/大小顶堆)学习Stark和Queue算法小记
  7. 2018-2019 20175234 实验三《敏捷开发与XP实践》实验报告
  8. [RK3399] 汇顶gt9xx触摸屏在RK原始代码调试
  9. Filename too long Resolution
  10. OpenTK学习笔记(2)-工作窗口的三种方法创建方法(winfrom窗体控件形式创建)