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?,单步 ...
随机推荐
- 通过 Powershell 来替换 ARM 模式下虚拟机的网络接口
需求描述 客户在部署完 ARM 模式的虚拟机以后,由于误操作在虚拟机内部禁用了网卡导致远程访问虚拟机受到限制,以下是通过 Powershell 命令来替换原有虚拟网络接口实现虚拟网卡重置功能. Not ...
- 使用slmgr查看、删除windows 授权(key)
查看 slmgr.vbs /dlv 删除授权 使用管理员权限进入cmd All program -> accessories -> Command Prompt (右键 已管理员方式运行) ...
- python、数据分析师、算法工程师的学习计划
1.前言 最近(2018.4.1)在百忙之中开通了博客,希望能够把自己所学所想沉淀下来,这篇是我开始系统学习python,成为数据分析师和算法工程师之路的计划,望有志于为同样目标奋斗的数据猿一起交流和 ...
- 关于Java中截取字符串
获取系统时间:to_char(sysdate,'yyyy-mm-dd')截取CREATETIME常量的前10位字符串:CREATETIME.substring(0,10)截取DESCRIPT常量的前2 ...
- 『看球笔记』20140208利物浦VS阿森纳,十字重剑与蜜蜂飞舞
红圈位置42%对58%的控球率,是不是觉得比分很不符?我们卖个关子,最后再说这个. 十字重剑 第一次任意球防守,俩后卫盯俩后卫,负责斯科特尔的是科斯切尔尼,而默特萨克盯图雷. ...
- Matlab Colour Theme
[转]http://blog.csdn.net/df865017/article/details/48164429 使用MATLAB进行编码时, 长时间面对白底黑字的屏幕, 眼睛会疼! 因此, 选择一 ...
- 【[NOI2009]植物大战僵尸】
题目 我太\(zz\)了 有一个非常显然的问题就是一个植物显然能保护同一行上比它更靠后的植物,因为显然得先干掉更靠前的植物 首先可以看出来这是一个经典的最大权闭合子图的模型,于是去套最小割 发现植物的 ...
- luogu P2424 约数和
嘟嘟嘟 求出[L, R]中每一个数的约数再相加必定会超时,所以换一种思路:枚举约数d. 对于一个约数d,能整除他的数可以写成k * d, (1 <= k <= ⌊n / d⌋),因此约数d ...
- 创建一个dynamics 365 CRM online plugin (十二) - Asynchronous Plugins
这篇是plugin的终结. 通过之前的11期我们应该发现了plugin其实学习起来不难. async plugin 是把plugin的功能async run起来. e.g. 我们之前做过的preOp ...
- hibermate一对一关联
在hibernate.cfg.xml配置<mapping class="oneToOne.IDCard" />,以及实体类的get和set方法省略了. User类 @E ...