deepin下安装ESP32的开发环境
deepin下安装ESP32的开发环境
本文章用于记录在deepin下安装ESP32的开发环境,前几日在CentOS7之下实现过,但CentOS7对于我这个Linux新手太不友好,于是重装deepin,体验非常好,故尝试在deepin 下安装ESP32开发环境。
步骤依据是乐鑫提供的官方文档:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started/linux-setup-scratch.html
1.编译 ESP-IDF 需要以下软件包
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
2.从源代码编译工具链
sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool make
创建工作目录,并进入该目录:
mkdir -p ~/esp
cd ~/esp
下载并编译 crosstool-NG :
git clone https://github.com/espressif/crosstool-NG.git
cd crosstool-NG
git checkout esp-2019r2
git submodule update --init
./bootstrap && ./configure --enable-local && make
最后一步,编译时,可能会报错:configure: error: Required tool not found: GNU libtool >= 2.4
安装libtool 后解决
sudo apt-get install libtool
如果安装了还出现这种问题接着安装
sudo apt-get install libtool-bin
编译工具链:
./ct-ng xtensa-esp32-elf
./ct-ng build
chmod -R u+w builds/xtensa-esp32-elf
build时间很长,会下载文件,若下载文件失败,可取消并重新build,也可查看系统状态,确定正在下载
下载到一半,报错,如下:
[ERROR] error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
百度得:
这是由于git默认缓存大小不足导致的,使用下面的命令增加缓存大小
$ git config --global http.postBuffer 2000000000
在deepin中,build花了很长时间,大概1个多小时,而在Centos7中,大概只花了半小时搞定,不知道是因为网速原因还是其他,git下载时有时候龟速,可尝试取消后重新下载,速度有时可变快
编译得到的工具链会被保存到 ~/esp/crosstool-NG/builds/xtensa-esp32-elf
将工具链添加到 PATH:
export PATH="$HOME/esp/crosstool-NG/builds/xtensa-esp32-elf/bin:$PATH"
改命令行其实只是暂时将工具链添加到了PATH,退出终端后,将失效,永久方法:
通过修改.bashrc文件:
vim ~/.bashrc
最后一行添加:
export PATH="$HOME/esp/crosstool-NG/builds/xtensa-esp32-elf/bin:$PATH"
ESC,输入“:wq”保存退出,关闭终端,再次打来生效,可通过 echo $PATH验证:
blue@blue-PC:~$ echo $PATH
/home/blue/esp/crosstool-NG/builds/xtensa-esp32-elf/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin
3.获取ESP-IDF
可通过git获取:
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
也可通过复制现有的ESP-IDF文件夹到~/esp下,为节约时间,我选择复制现有的esp-idf-v3.3
4.设置工具
cd ~/esp/esp-idf
./install.sh
本步骤中介绍的脚本将 ESP-IDF 所需的编译工具默认安装在用户根文件夹中,即 Linux 系统中的 $HOME/.espressif
5.设置环境变量
此时,您刚刚安装的工具尚未添加至 PATH 环境变量,无法通过“命令窗口”使用这些工具。因此,必须设置一些环境变量,这可以通过 ESP-IDF 提供的另一个脚本完成。
. $HOME/esp/esp-idf/export.sh
6.开始创建工程
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
编译后报错:
esptool.py v2.8
The following Python requirements are not satisfied:
cryptography>=2.1.4
Please refer to the Get Started section of the ESP-IDF Programming Guide for setting up the required packages.
Alternatively,
you can run "/usr/bin/python -m pip install --user -r
/home/blue/esp/esp-idf/requirements.txt" for resolving the issue.
/home/blue/esp/esp-idf/make/project.mk:501: recipe for target 'check_python_dependencies' failed
make: *** [check_python_dependencies] Error 1
根据提示,为python环境错误,运行推荐修复方法:
/usr/bin/python -m pip install --user -r /home/blue/esp/esp-idf/requirements.txt
再次make
LD build/hello-world.elf
esptool.py v2.8
To flash all build output, run 'make flash' or:
python /home/blue/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB1 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/blue/esp/hello_world/build/bootloader/bootloader.bin 0x10000 /home/blue/esp/hello_world/build/hello-world.bin 0x8000 /home/blue/esp/hello_world/build/partitions_singleapp.bin
简直不要太快,全部编译的情况下,只要了大概57s(ps使用的电脑比较老旧的情况下),比在windows下要好太多!!!
7.感受
- 第一次使用deepin,对于Linux小白来说,这个界面非常友好,跟Windows差不多,关键是已经自带了wps、网易云音乐、微信、TIM等必要的软件,界面也非常好看。但也许就是界面的原因,有时会出现卡顿的情况,个人感觉CentOS7运行比deepin要稳定、流畅,不知道后面使用运行会如何。
- 对比了一下同一台笔记本在windows下和linux下全部编译hello_world所花的时间 :
t make make -j8
windows / 8''7'
linux 57' 37'
之前就听说在mac和linux下编译esp32会快很多,没想到真的快这么多,不要太夸张!
deepin下安装ESP32的开发环境的更多相关文章
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Windows下安装Object C开发环境,及Hello Word(转)
Windows下安装Object C开发环境,及Hello Word 最近想学习iphone开发,但是由于没有c基础,只有java基础.所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先 ...
- Windows XP下安装WinCE6.0开发环境
Windows下怎样编译WinCE6.0及开发应用程序.以下介绍(安装之前必须保证C盘有足够的空间!20g左右!主要是由于在安装程序在安装过程中要解压): 在Visual Studio 2005之前, ...
- Fedora Linux 下安装配置C开发环境Code::Blocks
一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...
- python_在windows下安装配置python开发环境及Ulipad开发工具
最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...
- 在windows下安装配置python开发环境及Ulipad开发工具(转)
最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...
- Ubuntu下安装C/C++开发环境【!!!有更新!!!Ubuntu14.10下使用eclipse搭建C语言开发环境】
(1)第一步安装Eclipse,有两种方法,使用软件市场搜索就可以得到,安装就可以 另外一种是使用终端安装,命令例如以下: sudo su进入root模式 输入password 然后 输入:sudo ...
- mac下安装配置java开发环境
可以使用homebrew下载相关软件,以下具体讲一下环境的配置: mac下安装jdk vi .bash_profile 输入i,进入编辑模式 输入以下配置,其中JAVA_HOME是你的jdk安装目录 ...
- cygwin下安装c语言开发环境
1.到官网cygwin.com下载安装程序. 2.添加清华的cygwin镜像:https://mirrors.tuna.tsinghua.edu.cn/cygwin/ 3.在安装:vim,git,gc ...
随机推荐
- Android安卓开发一环境配置
安卓项目开发 我采用的安卓开发软件是IDEA,IDEA功能强大,具有集成的安卓开发环境. 安卓开发的首要任务是在IDEA配置安卓开发环境 第一步新建一个安卓项目 按照提示完成操作,首次建立安卓项目它会 ...
- Working hard to know your neighbor's margins:Local descriptor learning loss论文笔记
Abstract 论文提出了一种新的训练方法,受到了 Lowe's matching criterion for SIFT的启发.这种新的loss,要比负责的正则方法更好.把这个新的loss方法结合L ...
- arduino物联网学习
arduino物联网学习 目录 arduino物联网学习 20200215 OLED屏幕使用教程 材料: 软件 代码注释 完整代码 Arduino IDE 开发 ESP-01S/ESP-01物联网实战 ...
- checklist 编写指南
checklist 编写工具 checklist文档格式推荐使用思维导图.比如 MindMaster 和 processon.我喜欢用这些平台或者软件的思维导图大纲模式来编写 checklist. c ...
- ApacheCN JavaWeb 译文集 20211017 更新
使用 Spring5 构建 REST Web 服务 零.前言 一.一些基本知识 二.在 Spring5 中使用 Maven 构建 RESTfulWeb 服务 三.Spring 中的 Flux 和 Mo ...
- IntelliJ IDEA 中文官方文档
目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...
- CKKS加密方案
本文内容来自"Protecting Privacy throughHomomorphic Encryption",主要学习里面的CKKS部分. CKKS是一种同态加密方案,其安全性 ...
- 一步一步搭建基于ffmpeg和sdl2的流媒体播放器
一. 背景: 一步一步从资料收集.技术选型.代码编写.性能优化,动手搭建一款支持rtsp.rtmp等常用流媒体格式的视频播放器,ffmpeg用于流媒体解码,sdl2用于视频画面渲染和声音播放. 二. ...
- 在zabbix中实现发送带有图片的邮件和微信告警
1 python实现在4.2版本zabbix发送带有图片的报警邮件 我们通常收到的报警,都是文字,是把动作中的消息内容当成了正文参数传给脚本,然后邮件或者微信进行接收,往往只能看到当前值,无法直观的获 ...
- JVM收藏的文章
JAVA 内存泄露详解(原因.例子及解决) https://blog.csdn.net/anxpp/article/details/51325838 JVM内存区域划分Eden Space.Survi ...