ESP32 学习笔记 - 环境搭建
一、安装软件包
打开终端
输入命令(以下命令都是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

初次之外我还安装了sublime text3用来编辑代码,这里提供个deb版本的安装包
ESP32 学习笔记 - 环境搭建的更多相关文章
- MongoDB学习笔记~环境搭建
回到目录 Redis学习笔记已经告一段落,Redis仓储也已经实现了,对于key/value结构的redis我更愿意使用它来实现数据集的缓存机制,而对于结构灵活,查询效率高的时候使用redis就有点不 ...
- 0.react学习笔记-环境搭建与脚手架
0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...
- VS2013中Python学习笔记[环境搭建]
前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色 ...
- Spring学习笔记--环境搭建和初步理解IOC
Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hiberna ...
- DVWA学习笔记-----环境搭建
DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,那么就选它了. 我们通常将演练系统称为靶机,下面请跟着我一起搭建DVWA测试环境. 安装PHP集成环境 我这里用的是phpstu ...
- hadoop学习笔记——环境搭建
基础环境准备: 系统:(VirtualBox) ubuntu-12.04.2-desktop-i386.iso hadoop版本:hadoop-0.20.203.0rc1.tar.gz jdk版本:j ...
- Hibernate学习笔记--环境搭建及运行
1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...
- ESP32学习笔记(一) 环境搭建与下载
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...
- Hadoop学习笔记(10) ——搭建源码学习环境
Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...
随机推荐
- win10下安装pytorch,torchvision
电脑里以前安装了 tensorflow,现在因为学习需要,需要安装pytorch.还是在原来安装tensorflow的位置安装pytorch. 由于采用在线安装太慢了,而且中途还会因为网速不稳定终端! ...
- 3元购买微信小程序解决方案一个月
一.登录微信公众平台https://mp.weixin.qq.com/ 二.点击立即注册.注意:这里不要用微信公众号登录,小程序账号和微信公众号是不同的. 三.在注册页面点击小程序板块. 四.进入小程 ...
- python中的 if __name__ == “__main__”: 有什么用
https://stackoverflow.com/questions/419163/what-does-if-name-main-do# 问题: What does if name == " ...
- C++11新特性之 std::forward(完美转发)
我们也要时刻清醒,有时候右值会转为左值,左值会转为右值. (也许“转换”二字用的不是很准确) 如果我们要避免这种转换呢? 我们需要一种方法能按照参数原来的类型转发到另一个函数中,这才完美,我们称之为完 ...
- Android(java)学习笔记33:注册广播接收者
1. 下面我们先看一部分代码,由代码进行进一步的深入: registerReceiver( new BroadcastReceiver() {//onReceive中代码的执行时间不要超过5s,and ...
- 模拟栈的回溯,完全二叉树搜索,(ZOJ1004)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 解题报告: ①方法:完全二叉树的搜索方式,回溯法. ②代码 ...
- Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) C. Vasya and Golden Ticket 【。。。】
任意门:http://codeforces.com/contest/1058/problem/C C. Vasya and Golden Ticket time limit per test 1 se ...
- Git相关内容
先聊一点关于gitlab的内容和github的内容 Gitlab和GitHub,都是我们可以存放代码库的地方.不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想 ...
- Element.getBoundingClientRect()
Element.getBoundingClientRect()方法会返回元素的大小和相对于视口的位置 语法: var domRect = element.getBoundingClientRect() ...
- .net 导出Excel插件Npoi的使用
1.NuGet搜索Npoi并安装 2.添加引用将包引用进来 3.Controller里引用 4.使用 public ActionResult ExportExcel() { plist = 数据源 H ...