文章目录

  • 安装
  • 选择下载路径
  • 下载子仓库重定向工具 esp-gitee-tools
  • 克隆主仓库代码
  • 克隆重定向后的子仓库代码
  • 安装依赖工具
  • 安装编译工具链
  • 使用
  • 添加环境变量:
  • 进入 helloworld 示例程序:
  • 编译程序:
  • 下载程序
  • 串口监视器
  • PS
  • submodule-update 使用说明
  • 更改ESP32分区列表
  • linux下串口无法打开权限不够


安装

选择下载路径

选择好下载目录,右键进入终端

下载子仓库重定向工具 esp-gitee-tools

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

克隆主仓库代码

git clone https://gitee.com/EspressifSystems/esp-idf.git

克隆重定向后的子仓库代码

cd esp-gitee-tools
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/submodule-update.sh

安装依赖工具

sudo apt-get install git wget flex bison gperf python python-pip python-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util

安装编译工具链

cd esp-gitee-tools
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/install.sh

使用

添加环境变量:

. $HOME/esp-idf/export.sh

进入 helloworld 示例程序:

cd ~/esp-idf/examples/get-started/hello_world/

编译程序:

idf.py build

下载程序

需要根据实际情况修改比特率和串口号

idf.py -p /dev/ttyS3 -b 115200 flash

串口监视器

需要根据实际情况修改比特率和串口号

idf.py -p /dev/ttyS3 -b 115200 monitor

PS

submodule-update 使用说明

1.如果仓库中的 submodules 没有增加或减少,在使用过该脚本的工程内需要对仓库进行更新的情况下,无需一定要再次执行该脚本,可以使用标准的 git 命令,如 git pull && git submodule update --init --recursive 来更新,当然要再次使用该脚本也是没有问题的。
2.如果要切换版本,由于不同版本包含的 submodules 可能不同,建议切换版本后再次执行该脚本。
3.如果执行脚本过程中由于网络原因异常退出,可以重复执行该脚本。

更改ESP32分区列表

当编译固件大小超过设置的分区列表时会出错

Error: app partition is too small for binary smart_config.bin size 0x1407f0:
  - Part 'factory' 0/0 @ 0x10000 size 0x100000 (overflow 0x407f0)

进入menuconfig设置分区表选项

idf.py menuconfig

更改设置为

Partition Table —> Partition Table (Single factory app, no OTA) —> Single factory app (large), no OTA即可

若1500KB仍不够可以更改分区表 分区表路径如下

esp-idf/components/partition_table

linux下串口无法打开权限不够

编辑文件
sudo vim /etc/udev/rules.d/70-ttyusb.rules
增加如下内容:
KERNEL==“ttyUSB[0-9]*”,MODE=“0666”
保存,重新插入USB转串口,普通用户就能打开串口。