一、安装软件包

打开终端

输入命令(以下命令都是Ubuntu系统的)

sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache

会提示需要输入密码

输入密码后有可能会提示

使用下面的命令解锁一下就行了

sudo rm /var/cache/apt/archives/lock 
sudo rm /var/lib/dpkg/lock

成功以后就是下面的界面

二、安装工具链

乐鑫是默认将工具链安装在 ~/esp/ 目录的,我也将工具链安装到这里吧。

先创建并进入该目录:

mkdir -p ~/esp
cd ~/esp

使用 wget 命令下载 64 位的工具链:

下载过程

将工具链解压:

tar -xzf xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

解压后的工具链位于路径~/esp/xtensa-esp32-elf下面。该目录下面的bin目录就是我们用来编译 ESP-IDF 工程所需的可执行程序。如果要使系统直接能够这些程序,

要使用工具链,你还需要在 ~/.profile 文件中更新环境变量 PATH,需要将这个bin文件夹路径添加到系统的环境变量PATH中去。这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动刚时都会执行这个脚本)。

使用gedit .profile打开.profile 文件

gedit .profile

.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改

export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"

三、获取ESP-IDF

工具链(包括用于编译和构建应用程序的程序)安装完后,你还需要 ESP32 相关的 API/库。API/库在ESP-IDF仓库中。要获取这些 API/库,打开一个终端,进入某个你希望存放 ESP-IDF 的目录,然后 git clone 以下指令(我将ESP-IDF 下载至 ~/esp/esp-idf):

git clone --recursive https://github.com/espressif/esp-idf.git

接收有点慢...慢慢等

接收完以后需要设置环境变量

使用gedit .profile打开.profile 文件

gedit .profile

.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改

export IDF_PATH=/home/hj/esp/esp-idf

重点:.profile 文件中添加的两次环境变量是编译的关键,两次添加完成以后需要重启电脑或者重新登录才能生效

现在可以开始创建 ESP32 应用程序了。为了快速开始,我们这里以 IDF 的 examples 目录下的 get-started/hello_world 工程为例进行说明。

将 get-started/hello_world 拷贝到 ~/esp 目录:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

在终端窗口中,输入 cd ~/esp/hello_world 进入 hello_world 所在目录,然后启动工程配置工具 menuconfig

cd ~/esp/hello_world
make menuconfig

如果没问题就会进入这个界面

在菜单中,进入 Serial flasher config > Default serial port

配置串口(工程将会加载到该串口上)。

输入回车确认选择,选择 <Save> 保存配置,然后选择 <Exit> 退出应用程序。

然后就可以编译和烧写应用程序了,执行指令:

make flash

第一次编译可能会出现几个错误

错误一:

/dev/ttyUSB0 permission denied

对端口没有权限

解决方式:

sudo chmod /dev/ttyUSB0

这种方式重启电脑后又会出现问题,网上还有一种方式,我试了一下没成功

sudo usermod -aG dialout hj(这里写你的用户名)

为了方便调试,最好安装一个cutecom

https://blog.csdn.net/zhaoqi2617/article/details/72238546

初次之外我还安装了sublime text3用来编辑代码,这里提供个deb版本的安装包

链接:https://pan.baidu.com/s/1QOOsgpimZBnQMv1ehC_V8Q 密码:5b06

												

ESP32 学习笔记 - 环境搭建的更多相关文章

  1. MongoDB学习笔记~环境搭建

    回到目录 Redis学习笔记已经告一段落,Redis仓储也已经实现了,对于key/value结构的redis我更愿意使用它来实现数据集的缓存机制,而对于结构灵活,查询效率高的时候使用redis就有点不 ...

  2. 0.react学习笔记-环境搭建与脚手架

    0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...

  3. VS2013中Python学习笔记[环境搭建]

    前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色 ...

  4. Spring学习笔记--环境搭建和初步理解IOC

    Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hiberna ...

  5. DVWA学习笔记-----环境搭建

    DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,那么就选它了. 我们通常将演练系统称为靶机,下面请跟着我一起搭建DVWA测试环境.  安装PHP集成环境 我这里用的是phpstu ...

  6. hadoop学习笔记——环境搭建

    基础环境准备: 系统:(VirtualBox) ubuntu-12.04.2-desktop-i386.iso hadoop版本:hadoop-0.20.203.0rc1.tar.gz jdk版本:j ...

  7. Hibernate学习笔记--环境搭建及运行

    1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...

  8. ESP32学习笔记(一) 环境搭建与下载

    ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...

  9. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

随机推荐

  1. FIFO认识(一)

    1.什么是FIFO? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据 ...

  2. 百度地图JavaScript开发入门先知

    最近项目紧急开发了一些百度地图的功能,觉得百度地图实数强大!于是今天不忙总结一下,看到不错的文章先转载. 文章出处:https://www.opengps.cn/Blog/View.aspx?id=1 ...

  3. Android 位置服务

    原文来自:http://developer.android.com/guide/topics/location/strategies.html 位置策略 注意: 本指南仅限android.locati ...

  4. Matlab Colour Theme

    [转]http://blog.csdn.net/df865017/article/details/48164429 使用MATLAB进行编码时, 长时间面对白底黑字的屏幕, 眼睛会疼! 因此, 选择一 ...

  5. POJ 3088 斯特林

    题意:有一个n个按钮的锁,按下一些按钮打开门,有多少开门方式,其中,一些按钮可以选,可以不选,选中的按钮 可以分成一些集合,集合之间无序,是同时按下的. 分析: 1.首先选择 i 个按钮,组合数 2. ...

  6. [USACO17FEB]Why Did the Cow Cross the Road II P

    嘟嘟嘟 考虑dp. 对于ai,和他能匹配的bj只有9个,所以我们考虑从这9个状态转移. 对于ai 能匹配的一个bj,当前最大的匹配数一定是[1, j - 1]中的最大匹配数 + 1.然后用树状数组维护 ...

  7. php 引用变量

    什么是引用: 官方给的解释是:用不同的名字访问同一个变量内容. 1.普通的变量 运行之后内存空间变化是这样的: 2.引用变量 运行之后内存变化是这样的: 几乎没有什么变化. 3.使用unset 销毁的 ...

  8. ES6 基础概念汇总

    let const命令 声明变量 let 声明的变量  没有变量提升的效果 1  let声明的变量只在代码块内有效 for循环的计数器 2  不存在变量提升 要在声明后使用 let bar = 2 3 ...

  9. C#中的代码书写规范以及命名规范

    C#代码书写规则: 1. 尽量使用接口,然后使用类实现接口,以提高程序的灵活性. 2.一行不要超过80个字符 3.尽量不要手动更改计算机生成的代码 4.关键的语句写注释 5.建议局部变量在最接近使用它 ...

  10. how to create a custom form for sharepoint list

    在VS中创建一个applicationPage映射到Layouts文件夹下,然后代码如下: SPList lstTest = web.Lists["Shared Documents" ...