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. Python中字符串/字典/json之间的转换

    import json #定义一个字典d1,字典是无序的 d1 = { "a": None, "b": False, "c": True, ...

  2. android 开发 Intent使用技巧点

    判断Intent是否为null: if (intent.resolveActivity(getPackageManager())!=null) { //判断Intent是否为null // Inten ...

  3. 一种storyboard+swift实现页面跳转的方法

    如题.视图控制器A显示视频列表:视图控制器B显示视频详情,现希望将两个视图关联起来,点击A中某个视频跳转到B. 作为iOS小菜鸟我首先搜索了一下关键词 “tableviewcell 跳转”,然而搜索结 ...

  4. 04 Python数据类型

    Python 数据型1. int: 1,2,3 ....2. bool: True False3. str: 存贮少量数据 'asjkdh','工查'4. list: 列表,存贮大量数据 [1,2,3 ...

  5. python大法好——Python2.x与3​​.x版本区别

    python大法好——Python2.x与3​​.x版本区别 Python的3​​.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带 ...

  6. linux 杀死进程kill 等用法

    kill -9 $(ps -ef | grep process_name | grep -v grep | awk  '{print $2}')   稍微解释一下:  awk  '{print $2} ...

  7. JRebel 代理激活

    1.生成GUID   https://www.guidgen.com/ 例:04cfff79-8f45-481c-a858-a5b9590422e7 2.License Server 例: http: ...

  8. T-SQL中CTE表 with关键字

    Select字句在逻辑上是SQL语句最后进行处理的最后一步,所以,以下查询会发生错误: SELECT YEAR(OrderDate) AS OrderYear, COUNT(DISTINCT Cust ...

  9. phpstorm 不能自动打开上次的历史文件

    问题产生的原因:可能是电脑非正常关机,导致phpstrom 无法正常关闭. 一开始我以为是配置上那里出现了问题,所以直接就把配置删除了,然后生成了默认配置.发现还是无法解决问题.然后一个个配置查阅过去 ...

  10. linux 强制删除yum安装的php7.2

    由于支付宝SDK只支持php7.1,因为需要删除之前安装的7.2版,进行降级.通过yum remove不能完全删除php,必须通过rpm方式卸载.由于php安装模块间有依赖,因此需要按顺序进行卸载.如 ...