ESP32 | Ubuntu18.04.06下安装ESP-IDF

来源:哔哩哔哩 时间:2023-08-13 21:22:17

目的:在ubuntu下开发ESP-IDF。


(资料图片仅供参考)

主要参考的是乐鑫的官方文档,在安装过程中会遇到各种各样的问题,在此记录。

官方文档:乐鑫 | Linux 和 macOS 平台工具链的标准设置

/projects/esp-idf/zh_CN//esp32/get-started/#get-started-set-up-tools

1、安装准备

这里按照官方的指南,对于ubuntu需要执行命令:

命令的作用是一次性安装了一大堆ESP-IDF需要的组件,例如git、python3、cmake等等。笔者一开始也是执行的这条命令,但是后面遇到了python3版本过低、CMake版本过低的问题。

在恢复快照重新尝试安装时,我执行的时下述命令,只是将python3改为了(ESP-IDF所需的最低版本的python),在后续过程中没有提示我python的问题,但是python虚拟环境的问题还是会遇到。

2、获取 ESP-IDF

这里建议直接执行官方文档的命令:

在 ~/esp/esp-idf目录克隆idf的仓库,这里对网速有一定要求,而且需要能稳定访问github,具体还得看自己的情况了。

Github拒绝连接

还有的情况就是网页能够顺畅访问github,但是在clone的过程中,一开始还可以clone一些,但是后面会报错拒绝连接:

这里的情况有可能是科学上网走了代理,但是clone的时候没有走代理。还有可能就是单纯地不稳定、慢。

笔者用下面的方法2成功克隆了。

1)使用代理

在科学上网的时候,让git也走代理

如果不想用代理了,取消代理也很简单:

还有就是查看代理状态:

2)CDN加速

CDN不需要科学上网,小白友好。在克隆主仓库的时候,笔者的速度甚至来到过11MB/s(差不多是百兆网的上限了)。

上述三个命令任选一个即可,亲测第一个有效(2023年8月12日),但是这些都是为爱发电的CDN,指不定能用到啥时候,且用且珍惜。

3)使用国内的gitee

乐鑫在Gitee也是有仓库的:/EspressifSystems/esp-idf

理论上只要把clone的链接换成Gitee的链接就可以了,但是笔者没有尝试过。

如果克隆中断了,或者是升级IDF,可以在IDF的根目录执行:

3、设置工具

除了 ESP-IDF 本身,您还需要为支持 ESP32 的项目安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。

这里官方可以单纯安装某一些芯片的工具,但是我建议全都要。

这一步骤,笔者在第一节安装准备的时候执行的是官方的命令,由于ubuntu18已经安装了了,并没有实际安装ESP-IDF所需的python版本(以上),所以这一步一直报错,如果上述步骤读者执行的是笔者给出的推荐的命令,那就不需要其他操作了,耐心等待就好了。

python虚拟环境创建失败

在这个步骤中,安装了到一半,笔者遇到了以下提示:

大致意思就是的虚拟环境创建失败,终端提示运行

但是多次尝试后还是一样的问题。最后的解决方法是指定安装虚拟环境的版本:

然后终端会提示更新了,还会建议我们卸载不需要的软件包,在卸载玩之后需要在执行一次上述命令。之后再设置工具就完成啦。

成功之后,会在终端看到类似图示的内容。

如果访问github网速不稳定,乐鑫也很贴心给了镜像网站:

下载工具备选方案ESP-IDF 工具安装器会下载 Github 发布版本中附带的一些工具,如果访问 Github 较为缓慢,可以设置一个环境变量,从而优先选择 Espressif 的下载服务器进行 Github 资源下载。备注该设置只影响从 Github 发布版本中下载的单个工具,它并不会改变访问任何 Git 仓库的 URL。要在安装工具时优先选择 Espressif 下载服务器,请在运行 时使用以下命令:

4、设置环境变量

此时,您刚刚安装的工具尚未添加至 PATH 环境变量,无法通过“命令窗口”使用这些工具。因此,必须设置一些环境变量。这可以通过 ESP-IDF 提供的另一个脚本进行设置。请在需要运行 ESP-IDF 的终端窗口运行以下命令:

但是每次打开一个终端就执行一次这个文件,还得记住这个路径,显然是不优雅的,那怎么优雅起来呢?乐鑫也是很懂大家哈。

如果您需要经常运行 ESP-IDF,您可以为执行 创建一个别名,具体步骤如下:复制并粘贴以下命令到 shell 配置文件中(.profile、.bashrc、.zprofile 等)

通过重启终端窗口或运行 source [path to profile],如 source ~/.bashrc 来刷新配置文件。现在您可以在任何终端窗口中运行 get_idf 来设置或刷新 esp-idf 环境。

这里笔者修改的配置文件是bashrc。

到这一步,基本上就是成功啦,

5、开始使用 ESP-IDF 吧

这里就不按官方的来了。我们直接进入IDF的目录,按路径~/esp/esp-idf/example/get-started/hello_world展开,将整个hello_world文件夹复制,在粘贴到自己的工程路径(例如我是在~/esp/Prj文件夹下),然后在空白处右键,在终端打开。在终端输入get_idf导入IDF环境。

之后就是设置目标芯片,可以使用命令:

这里根据自己手上的开发板实际选择,笔者的是ESP32-C3。

CMake版本太低

ESP-IDF是以CMake来进行工程管理的,对CMake的版本有最低要求,笔者的版本还是太低了,所以需要进行CMake版本的升级。

具体的报错信息可参考:

大致意思就是CMake的版本太低了,需要升级版本。

1)下载cmake

2)解压

3)先进入解压后的目录,再执行以下命令进行配置

配置成功会显示:

失败情况有:

这里提示少了C编译器,安装就好了

4)配置完之后进行编译

5)编译完之后进行安装

6)替换旧版本,。

其中/usr/local/bin/cmake为新安装的cmake目录

7)最后测试cmake版本:

成功升级CMake的版本之后,也是很顺利地设置了目标芯片,可以愉快编译啦:

这里大家可以体会到在Linux环境下,IDF 编译的速度变化,笔者的物理机是i5-12500   GHz,普普通通12代i5,而虚拟机才俩核心,编译的速度基本上差不多的,那我要是多分几个核给虚拟机,芜湖~。

编译完成之后可以开始烧录了,这里接上设备之后,可以使用

来查看当前挂载的设备。例如笔者当时的设备如下图,而插入的开发板在图中的最后一行倒数第三个:ttyUSB0。

确认当前的设备端口后,就可以开始烧录啦:

-p后面的端口号要根据读者的参数进行调整。这里烧录可能会提示报错:

省流:没有写串口的权限。那打开权限就完事了,直接:

再次进行烧录就莫问题啦。猜你想要打开串口查看调试信息:

又或者一键烧(san)录(lian):

结束

遇到的问题不一定一样,但是可以做个参考

可参看视频教程

(待录)

参考链(wen)接(xian)

1、github 代理加速或 CDN 加速 - thepoy - 博客园 ()

/thepoy/p/

2、Ubuntu升级Cmake的正确方式_Liangtao`的博客-CSDN博客

/qq_27350133/article/details/121994229

关键词:

推荐内容

Copyright 2000-2021 by www.jiaoyu.ozhou.com.cn all rights reserved

备案号:沪ICP备2022005074号-23

邮箱 : 58 55 97 3@qq.com