esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境。

首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆,以免后面的操作一直要sudo很麻烦。

输入指令:

sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial

用浏览器打开链接

http://link.zhihu.com/?target=https%3A//dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

下载编译包(注意,一定要安装最新版的,不然后面的编译会出错,现在发的这个是此时的最新版。)

cd /        到根目录

并mkdir esp32创建一个esp32的文件夹,

cd /home/li/下载/            到下载了文件的文件夹下(li是安装时自己设定的用户名)

mv xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz  /esp32/                       将文件移动到自己创建的esp32的文件夹下。

cd /esp32               回到esp32文件夹后,tar -zxvf xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz将文件解压。至此,编译环境就搭建完成了。

编译环境下载解压完成后,需要下载ESP32的ESP-IDF开发条件,在终端输入

git clone --recursive https://github.com/espressif/esp-idf.git 即可下载最新的开发条件

ESP-IDF的目录结构如下:

components:ESP-IDF的核心组件

examples:ESP-IDF提供的实例程序

make:ESP-IDF工程管理目录

tools:ESP-IDF提供的工具集

docs:ESP-IDF相关文档

至此,ESP32的开发条件和编译条件就搭建完成了,但是,此时还是不能够对文件进行编译,因为我们并没有告诉linux它的环境变量,为了避免每次登陆linux终端都要重新输入环境变量,我们在/home/li/.bashrc文件中加入环境变量。

输入gedit ~/.bashrc打开文件,并添加环境。

在文本的最后添上

export PATH=/esp32/xtensa-esp32-elf/bin:$PATH
export IDF_PATH=/esp32/esp-idf
最后在终端输入source home/li/.bashrc更新环境变量整个开发环境即搭建完成了。可以

cd /esp32/esp-idf/examples/get-started/hello_world/   到helloworld的例子下进行make flash操作测试整个环境是否能够成功运行(使用virtual box 需要给usb添加权限sudo usermod -a -G dialout $USER),

第一次make时会自动进入menuconfig界面,一般不用修改,直接exit即可。

exit 后会显示编译产生了很多的.o文件。

make 完成后,插上esp32,输入make flash 即可完成程序的烧录。至此,整个esp32的开发环境就搭建完毕了,下篇文章就继续讲解如何运用minicom串口软件查看esp32的输出。

ubuntu 14.04下搭建esp32开发环境的更多相关文章

  1. Ubuntu 14.04下搭建 Android 开发环境(1) -JDK安装

    1.下载最新的jdk安装,地址:http://www.oracle.com/technetwork/java/javase/downloads/ 2.解压jdk-8u20-linux-x64.gz,我 ...

  2. Ubuntu 12.04下搭建Qt开发环境

    http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...

  3. ESP32搭建3.ubuntu14.04下搭建esp32开发环境 (10-5)

    硬件为乐鑫出品的ESP32一款集成了wifi和蓝牙的集成模块. 1.首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆 . 2. 输入指令:sudo apt-get install ...

  4. Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  5. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

    http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...

  6. Ubuntu 14.04下搭建Node.js的开发环境

    最近想找一个轻量级且支持快速开发的服务开发平台,选来选去选择了Node.js,当时有几种选择: Python + Django(用过Django,虽然开发快速,但是感觉性能并不太好). Ruby + ...

  7. Ubuntu 13.04下构建Qt5开发环境

    虽然Qt命运多舛,但是也阻挡不了程序员对它的喜爱.经历了一系列波折之后,现在到在芬兰公司Digia手中,Qt又将迎来一个发展.Qt5就是在这种情况之下发布的.正值Ubuntu刚刚发布了13.04版,我 ...

  8. ubuntu 12.04LTS下搭建Andriod开发环境记录

    今天在Ubuntu 12.04 LTS 下安装了android开发环境. 1, 安装JDK 先去 Oracle下载Linux下的JDK压缩包,我下载的是jdk-7u4-linux-i586.tar.g ...

  9. Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台

    引言 找了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + P ...

随机推荐

  1. expect login ssh

    #!/usr/bin/expect -f set pwffd [lindex $argv 0] spawn ssh cmesvr2i expect "*password:" sen ...

  2. Android开发中常见的设计模式(四)——策略模式

    策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变换. 假设我们要出去旅游,而去旅游出行的方式有很多,有步行,有坐火车,有坐飞机等等 ...

  3. 一个类似于jq的小型库

    本人写了一个类似于jq的小型库,不过只是写了部分方法而已.并没有jq那么全面,下面就介绍下有哪些方法可以使用 第一个是选择器, 选择器比较简单 只支持ID选择器 $(‘#id_name’) Class ...

  4. Linux命令:builtin

    语法: builtin [shell-builtin [arg ...]] 说明: 明确告诉bash执行的是内建命令,而不是和内建命令同名的函数.这实际就是bash容许用户自定义和builtin命令同 ...

  5. MySQL 8.0 新增SQL语法对窗口函数和CTE的支持

    尝试了一下MySQL 8.0的部分新特性. 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛 ...

  6. 思维导图-mysql log

  7. Spark升级--在CDH-5.15.1中添加spark2

    一.环境准备 jdk-1.8+scala-2.11.X+python-2.7 二.创建目录 mkdir -p /opt/cloudera/csd 修改权限 chown cloudera-scm:clo ...

  8. ppt复制文本框文字到word的方法

    打开ppt按Alt+F11,插入--模块,  选中“工具”--“引用”--MicroSoft Word .. 复制代码: Sub Main() On Error Resume Next Dim tem ...

  9. Java 基本类型和包装类型

    讲基本类型和包装类型之前,首先要介绍,装箱和拆箱 装箱:基本类型转化为包装类型 拆箱:包装类型转化为拆箱类型 为什么要有包装类型?Java是面向对象的语言,Java中一切都是对象除了基本数据类型,所以 ...

  10. 业务数据实体(model) 需要克隆的方法

    业务数据实体(model) 需要克隆的时候 可以使用 Json.Deserialize<InquireResult>(Json.Serialize<InquireResult> ...