说明:本电脑HOME路径为/home/zrt

以下是为在Ubuntu 22.04安装设置 ESP-IDF 的具体步骤。
一、安装准备
为了在 ESP32-C3 中使用 ESP-IDF,需要根据操作系统安装一些软件包。
注意:请确保已安装 Python 3.10 或更高版本。Python 3.10 为 ESP-IDF 支持的最低版本。
打开终端并输入如下指令:
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
bash
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
安装过程中,安装脚本 (install.sh) 会检查系统中已安装的 Python 版本,并在所有符合最低要求的版本中,选择最早的版本使用。
二、获取 ESP-IDF
在围绕 ESP32-C3 构建应用程序之前,请先获取乐鑫提供的软件库文件 ESP-IDF 仓库。
获取 ESP-IDF 的本地副本:打开终端,切换到要保存 ESP-IDF 的工作目录,使用 git clone 命令克隆远程仓库。
打开终端,运行以下命令:(以下指令会在 HOME下新建esp目录,并将clone的esp-idf库文件放在该目录下)
bash
mkdir -p /home/zrt/esp
cd /home/zrt/esp
git clone https://github.com/espressif/esp-idf.git
ESP-IDF 将下载至 ~/esp/esp-idf。
三、安装ESP-IDF-TOOLS工具
上面的clone完成了,我们会在esp文件夹下面看到esp-idf文件。
除了 ESP-IDF 本身,还需要为支持 ESP32-C3 的项目安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。
我们可以通过esp-idf目录下的install.sh进行安装。
bash
cd /home/zrt/esp/esp-idf
./install.sh esp32c3
上述命令仅仅为 ESP32-C3 安装所需工具。如果需要为多个目标芯片开发项目,则可以一次性指定多个目标,如下所示:
bash
cd /home/zrt/esp/esp-idf
./install.sh esp32,esp32s2
如果需要一次性为所有支持的目标芯片安装工具,可以运行如下命令:
bash
cd /home/zrt/esp/esp-idf
./install.sh all
接下来我们就可以运行esp-idf下的install.sh文件了:
bash
. ./export.sh
注意:./export.sh和前面的.点号是有一个空格的,这个点号相当于source。

四、设置环境变量
此时,刚刚安装的工具尚未添加至 PATH 环境变量,无法通过"命令窗口"使用这些工具。因此,必须设置一些环境变量。
如果需要经常运行 ESP-IDF,可以为执行 export.sh 创建一个别名,具体步骤如下:
(1)、复制并粘贴以下命令到 shell 配置文件中(.profile、.bashrc、.zprofile 等):
bash
vim ~/.bashrc
在.bashrc加入如下语句:
bash
alias get_idf = '. /home/zrt/esp/esp-idf/export.sh'
或者
bash
alias get_idf = 'source /home/zrt/esp/esp-idf/export.sh'
(2)、通过重启终端窗口或运行 source [path to profile],如 source ~/.bashrc 来刷新配置文件。
现在可以在任何终端窗口中运行 get_idf 来设置或刷新 ESP-IDF 环境。
五、开始使用 ESP-IDF 吧
进入 工程目录hello_world 目录,并在该目录路径下打开终端,执行如下命令:
bash
get_idf
然后设置 ESP32-C3 为目标芯片,然后运行工程配置工具 。
bash
cd ~/esp/hello_world
idf.py set-target esp32c3
最后编译工程:
bash
idf.py build
编译成功后可以对工程进行配置:
bash
idf.py menuconfig
或者可以直接配置目标:
bash
idf.py set-target esp32c3