【知识分享】ubuntu22.04-ESP32环境搭建

文章目录

一、概要

手上有一块安信可的WIFI开发板,用的是乐鑫的ESP32模组。刚好最新装了双系统,貌似在Linux环境使用gcc编译器会快一些。

万事开头难,要在Linux环境下进行开发工作,那就意味着需要在Linux环境中搭建ESP32适当的开发环境。本文主要是在官方搭建文档的基础上进行一些查缺补漏,适合新手阅读。

二、环境及工具介绍

开发环境:操作系统ubuntu 22.04.1,内核5.19.0-42-generic

开发板:NODEMCU-32 V1.3

串口工具:USB转TTL

三、名词解释

  • esp-idf:是为开发者提供了一整套的工具、库和API,方便快速构建和开发各种物联网设备和应用。可以理解为是跟Keil一样的工具,只是没有像Keil一样把界面做的那么好。
  • 环境:也称开发环境,指的是开发人员用来编写、测试和调试代码的综合工具和设置。而环境搭建指的是准备和配置一个特定的软件开发环境,以便开发人员可以在其中编写、测试和调试代码。

四、环境搭建

这里选择官方推荐的方式,esp-idf的工具链。

不同的ubuntu版本可能会有不同的问题出现,建议在进行工具安装前,先使用下面两个指令更新系统软件。在ubuntu系统下,按Ctrl + Alt + T,打开终端,输入以下指令更新软件。

c 复制代码
sudo apt update
sudo apt upgrade

首先需要安装esp-idf所需要的软件及工具,根据官方提示,输入以下指令进行安装。可以看出,这里面安装了git、python3、cmake等需要用到的工具,如果是ubuntu 22.04,其实像python3这类工具是系统自带的,不过这里再选择安装也不影响,系统会自动检查。

c 复制代码
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

接下来就是安装工具主体------esp-idf,打开终端,输入下面指令安装。细心的小伙伴应该会发现,这里用git获取工具有个地方跟官方文档不大一样,就是少了个--recursive参数。加上这个参数,下载esp-idf工具时,会自动下载路径下的子模块,但因为github这个网站直接下载文档速度有点慢,所以这里选择先下载主体,再单独更新子模块。如果连主体下载都太慢的小伙伴,可以百度搜下github.com的镜像网站,替换掉下面github.com即可。(子模块的更新不一定是根据这个命令里的网址来的,下面细说)

c 复制代码
mkdir -p ~/esp
cd ~/esp
git clone https://github.com/espressif/esp-idf.git

下载完主体,就可以更新里面用到的子模块,更新之前最好切换一下源,切换方式是在esp-idf路径下,找到.gitmodules的文件(该文件为隐藏文件,需要选择查看隐藏文件才能找到)。

打开该文件,把其中所有的.../.../替换成镜像源,保存文件。

然后在当前路径下,输入指令更新子模块的源

c 复制代码
git submodule sync

再输入下面的指令更新子模块

c 复制代码
git submodule update --init --recursive --progress

如果这个更新完后,还发现有没更新的模块,则输入以下指令进行更新

c 复制代码
git submodule --remote

如果用这个指令一直更新失败,那就只能手动去下载子模块了,根据刚才打开的那个.gitmodules文件,找到对应的路径,如果对应路径下没有文件,则需要手动下载,下载路径就是文件中的"url ="后面的这个网址。

以上工具安装完后,就可以安装对应芯片所需要的工具了,键入以下指令进行安装,如果前面工具安装都正常,这里就可以正常安装。其中./install.sh后面带的是对应开发板的芯片,esp32/esp32-s就选esp32,如果需要安装其他芯片系列,则加上对应的芯片即可,比如还需要esp32-s2,就修改指令为./install.sh esp32,esp32s2

c 复制代码
cd ~/esp/esp-idf
./install.sh esp32

安装完工具后,在开始编译工程之前,需要设置环境变量,idf工具里提供了.export.sh的快捷设置方式,但因为每次打开终端都需要设置一次,且每次都需要进入对应路径进行调用,所以官方也很亲切地提供了一种比较快捷的方式,即设置一个快捷变量供使用,将以下指令添加至xxx 文件中,后续打开终端只需要输入get_idf即可设置环境变量。

c 复制代码
alias get_idf='. $HOME/esp/esp-idf/export.sh'
相关推荐
无敌的牛6 分钟前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空7 分钟前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
亚马逊云开发者1 小时前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
大叔是90后大叔1 小时前
Linux/Ubuntu安装go
linux·ubuntu·golang
孙克旭_1 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
渡我白衣2 小时前
Linux操作系统之进程间通信:共享内存
linux
Wy. Lsy2 小时前
Kotlin基础学习记录
开发语言·学习·kotlin
The_Killer.2 小时前
格密码--数学基础--06对偶空间与对偶格
学习·线性代数·密码学
Mr_Orangechen2 小时前
Linux 下使用 VS Code 远程 GDB 调试 ARM 程序
linux·运维·arm开发
lilian1293 小时前
linux系统mysql性能优化
linux·运维·mysql