目的:在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
邮箱 : 58 55 97 3@qq.com