目录
一、安装步骤
1、工具下载安装
下载安装软件包:
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools cmake ninja-build ccache libffi-dev libssl-dev
设置 Ubuntu 默认使用 Python 3:
sudo apt-get install python3 python3-pip python3-setuptools
设置 Python 3 为默认编译器:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
2、获取ESP-IDF
打开终端,新建 esp文件夹,将ESP-IDF克隆到此目录下:
mkdir esp
git clone -b release/v4.0 --recursive https://github.com/espressif/esp-idf.git
3、设置工具
cd ~/esp/esp-idf
./install.sh
4、设置环境变量
执行如下命令,命令开始的 “.” 与路径之间应有一个空格!但这样每次在重启系统后又得重新设置
. $HOME/esp/esp-idf/export.sh
也可以将这行代码增加至.profile 或 .bash_profile 脚本中,这样就可以在任何命令窗口使用 ESP-IDF 工具了
cd ~ //进入跟目录下
geidt .profile //编辑 .profile文件
export IDF_PATH=/home/denghengli/esp/esp-idf //在文件最后一行添加此命令。需要根据自己的安装目录修改路径!!!!
二、工程配置与编译
1、创建工程
可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。将 get-started/hello_world 复制至本地的 ~/esp 目录下:
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
或是直接使用example目录下的工程,无需进行复制
2、连接设备
将ESP32开发板连接到PC,并查看开发板使用的串口(Linux下为 /dev/tty开始)
3、配置
1、设置目标芯片(不需要,默认会是esp32)
ESP-IDF 支持多款芯片,它们通过在软件中使用不同的 “目标” (target) 名进行区分,具体对应关系如下:
- esp32 — 适用于 ESP32-D0WD、ESP32-D2WD、ESP32-S0WD (ESP-SOLO)、ESP32-U4WDH、ESP32-PICO-D4
- esp32s2— 适用于 ESP32-S2
所以在构建项目前,需要设置目标芯片。参考链接
idf.py set-target {IDF_TARGET} 例如:idf.py set-target esp32
2、配置工程
第一步:进入到要编译的 example目录下,进入 “hello_world”
第二步:输入 idf.py menuconfig
4、编译工程
输入 idf.py build
5、烧录到设备
(1)输入 idf.py -p PORT [-b BAUD] PORT 替换为 ESP32 开发板的串口名称。或者
(2)输入 idf.py -p PORT [-b BAUD] flash PORT 替换为 ESP32 开发板的串口名称,完成 工程编译 和 烧录,就不用再执行 idf.py build 了
6、添加监视器
输入 idf.py -p PORT monitor 命令,监视 “hello_world” 的运行情况,使用快捷键 Ctrl+],可以退出 IDF 监视器。也可以运行以下命令,一次性执行构建、烧录和监视过程
idf.py -p PORT flash monitor
【权限问题】:
出现 Failed to open port /dev/ttyUSB0 错误消息。此时,可以将当前用户增加至 :ref:Linux Dialout 组 <linux-dialout-group>。
方法一:执行如下指令,将用户添加至dialout组,永久生效。如果不成功的话可以试用第二种方法
sudo usermod -aG dialout denghengli
方法二:给 /dev/tty/USB0添加权限,但是关闭后会失效,下次需要重新添加
sudo chmod 777 /dev/ttyUSB0