本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑

趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建。怎么说的,ESP32可以在多平台开发,什么windows啊,Linux啊,0S X啊,所以相应的编译环境就有很多,看需要,不同的需求就对应不同的环境搭建,这里小狂要在windows下开发ESP32,所以我们就着重讲一讲windows下环境搭建的方法,这里采用了安可信的一体环境搭建的方式,其实也没啥,上一篇帖子已经说了,就是把编译器和eclipse融合在了一起,然后设置点编译环境,如果还要小伙伴想要挑战其他的方式,官方网站给出了一篇参考文章可以看,windows-setup.rst这篇文章,要是想要用eclipse可以参考eclipse-setup.rst这篇文章,如果都不想看,就听小狂慢慢道来。一、编译环境的搭建

1、安装软件

首先我们需要下载编译工具和编译器,和环境配置工具,就是下图所示的几个

Cygwin.exe是编译工具,如果有玩过ARM的对这个都应该不陌生,就是交叉编译工具链。Eclipse就不用我说了吧,如果电脑上已经安装的,这个就pass,ESP_IDE,就是一个环境配置工具,用来选择目录的。另外提醒一下Cygwin.exe要选择最新的,旧的是不支持ESP32的,当然用上一篇小狂的连接,就没有必要考虑这些问题了,下载完成后把Cygwin.exe、Eclipse.exe,点开,其实就是一个压缩程序,选择一个不含中文名的目录,解压到里边就行。

然后点击 ,就会出现配置信息,如下图所示

下边我们就下载乐鑫官方的SDK,然后编译一个例程

首先我们应该下载两个东西,一个是ESP-idf,一个是esp-idf-template。采用git下载,如果已将下载完可以忽略这步,但是我发现了一个问题,我在github上下载的并不好用,不知道为啥,可能中间少了点什么步骤,不管了,直接git了。我们的编译工具提供了一个windows下模拟shell的一个程序,我们打开,直接可以下载。

进入你的cygwin根目录,打开下图红框里的东西

打开后界面后,如下图所示

然后输入下面的几条命令,把那里边的目录换成你自己的目录就行,还是建议不要用中文,虽然现在没有任何事实证明有什么影响,但是保不准以后有啥事,还是把隐患杜绝在摇篮里吧。命令我就直接抄安信可的啦,没啥好说的。都是linux中常用的命令,没玩过linux的小白照抄就对了,没啥影响,不耽误你玩耍。

然后我们配置,eclipse的环境

这些都是要用到的,第一个是你的eclipse的安装目录,cygwin是你刚才解压到的目录,idf是你刚才下下载自己设定的目录,如果没啥问题啊直接点OK就行,有问题会给你提示的。

如果是第一次打开eclipse是会让你选择工作目录的,这个随便设一下就好怎么开心怎么来。

然后按照下面一组图来配置你的eclipse

然后,选择下图的选项,应为我们的工程使用make来创建的,所以要选择makefile project

然后,按照下图配置,至于c还是c++,一般我都勾选上,哈哈,所以有时候写的c不是c,c++不是c++,哈哈。

然后点击结束,因为所有的make 都是从app启动的,所以我们要更改一下make的起始目录,右键点击esp-idf

出现下面界面

改成下图所示就行,APP是你的工程文件,然后我们创造两个target用于配置idf和下载,首先生成idf的配置

按照下图配置

配置下载的target,名字随便起,配置按照下图就行

然后使用快捷键shIFt+f9,编译我们想要的文件

选中其中的一个,电机Build就行了,第一次我们应该先配置一下Menuconfig

编译完成后如下图所示。

为了使FLASH下载能执行,我们需要配置一下serial flasher config,看下图

第一个是你的串口号,这个怎么看呢,这么看

图中红色的部分是你电脑上可用的串口号,一般是你的com号减一,比如我的是com14,映射到里边就是ttyS13。然后把其输入到里边。

第二个是波特率设置,第三个不知道啥,先不管,第四个是SPI FLASH的模式,这个在配置eclipse的时候不重要,但是你要用乐鑫的下载工具,不好意思,这个你就要记住了,第五个是SPI的速度。记住就行,改完之后,可以保存一下

下一次就可以直接用这个配置了

然后我们编译一下

发现没有错误,我们就可以下载了

使用shift+f9我们来下载稍等一下,东西比较多。然后就会发现下载完成啦,哈哈,大功告成,截图表示庆贺

下边一节我们再讲一下怎么用乐鑫的下载软件下载。二、使用ESP32 DOWNLOAD TOOL V3.42下载程序

首先打开下载软件,选择ESP32烧写,配置的过程如下,具体为什么这么分,我还不知道,没有深究,到时候用到的时候再说,哈哈 1、Bootloader.bin                                烧写在0x1000

用户app                                        烧写在0x10000

partitions_singleapp.bin                烧写在0x4000

2、晶振频率,看你的模块的外部晶振是多少(这个是我猜的)

3、SPI的通讯速度,这个是你可以在menuconfig配置的

4、SPI的模式,玩过SPI的都应该知道SPI是有很多种模式的,这个也是可以配置的

5、SPI FLASH的大小,安信可用的外部FLASH 是32Mbit,也就是4MB。

6、下载用的串口号和波特率。

然后,按住IO0进入下载模式,然后点下载进行下载,下载完成后,有如下提示

三、总结

到此,这篇环境搭建篇也算完成了,这个也不是小狂原创只是把安信可的几篇文章综合了一下,然后把自己遇到的一些问题也顺便解决了。如果有帮助,小伙伴们点个赞可否,哈哈。下一篇不知道写啥,敬请期待吧,哈哈,玩到哪就写到哪了,嘿嘿。ESP32其他篇请移步

esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇相关推荐

  1. linux 内核 f2fs,f2fs系列之一:实战f2fs 下载、编译和挂载

    f2fs (Flash-Friendly File System)有很多对SSD友好的特性,主要特性包括: 基于日志结构 聚焦于优化日志结构中的wander tree的雪崩效应和清除代价 此外,它还充 ...

  2. 小明系列问题――小明序列(LIS)

    小明系列问题――小明序列 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  3. 【微信小程序系列】小程序简单连接后端数据库完整示例(附免费下载的源码)(Servlet)

    [微信小程序系列]小程序简单连接后端数据库完整示例(附免费下载的源码)(Servlet) 登录页面 login.wxml <view class="page">< ...

  4. HDU 4521 小明系列问题——小明序列 LIS+动态规划

    HDU 4521小明系列问题--小明序列 Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u ...

  5. Linux环境配置编译orange,orangepi zero2编译环境搭建及传感器测试

    一.编译环境搭建及版本镜像编译 我这里使用的是官方手册上提供的linux SDK,包括uboot.linux内核及根文件系统均是orangePI官方的代码包,但在使用的一开始,我就遇到一个让人比较郁闷 ...

  6. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——2.安装ros-kinetic

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--2.安装ros-kinetic 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式 ...

  7. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--1.安装系统ubuntu_mate_16.04 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认 ...

  8. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--5.Android手机端与robot端ROS网络通信 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整 ...

  9. linux下guide编译不了,全志R16编译环境搭建指南,全志R16_Tina SDK Quick Start Guide

    2. Tina SDK 目录结构 ├── tina │ ├── abi │ ├── app │ ├── bionic │ ├── build │ ├── device │ │ ├── softwinn ...

最新文章

  1. 快速区域积分直方图实现
  2. 看不到日志_Kubernetes中常用的日志收集方案
  3. OSError: exception: access violation writing and reading
  4. souce insight中文出现乱码
  5. go语言项目优化(经验之谈)
  6. 快速排序在最坏的情况下时间复杂度(Ω(nlgn)(算法导论第三版9.3-3))
  7. 【LeetCode笔记】143. 重排链表(Java、链表、栈、快慢指针)
  8. 信号处理与信号产生电路
  9. 为什么阿里腾讯们都在抢夺 LoRa?| 技术头条
  10. web集群之LVS集群
  11. 【优化求解】基于matlab蚁群算法求解函数极值问题【含Matlab源码 1201期】
  12. UNIX/Linux系统结构
  13. c语言令牌桶原理,基于多 goroutine 实现令牌桶
  14. docker 停止、启动、删除镜像指令操作总结
  15. STM32F401的RCC时钟配置
  16. 手机内存卡格式化了怎么办
  17. 从MIT协议谈契约精神
  18. 条形码、二维码、RFID优缺点,卫星定位,传感器分类及应用场景
  19. 『NLP学习笔记』Cross Entropy Loss 的硬截断、软化到 Focal Loss
  20. NAR:人类虚拟代谢数据库——整理人类和肠道菌群与营养和疾病

热门文章

  1. Docker:镜像操作和容器操作
  2. JavaScript Array reverse 方法:颠倒数组中元素的顺序
  3. 华为系列交换机日志服务器的搭建
  4. 基于Socket的UDP和TCP编程介绍
  5. [转帖]一位“鬼佬”总经理的管理艺术
  6. Fourinone2.0对分布式文件的简化操作
  7. 从tomcat 迁移到 WebSphere 经验总结
  8. 使用钩子函数[4] - 钩子链和 CallNextHookEx 的返回值
  9. matlab 正四面体,填隙工具箱,caulking box,音标,读音,翻译,英文例句,英语词典
  10. spring 源码 找不到 taskprovider_Spring 源码阅读环境的搭建