在 Ubuntu 下使用 ESP-IDF 通过串口烧录 ESP32


1. 准备工作

(1) 安装 ESP-IDF 环境

确保已完成 ESP-IDF 的安装和配置(参考官方文档):

bash

复制

下载

git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh
. ./export.sh
(2) 连接开发板
  • 通过 USB 线将 ESP32/ESP8266 开发板连接到 Ubuntu 主机。

  • 确认设备识别到的串口号(通常为 /dev/ttyUSB0 或 /dev/ttyACM0)。

(3) 设置串口权限

bash

复制

下载

sudo chmod 666 /dev/ttyUSB0  # 临时授权
# 或永久添加用户到 dialout 组:
sudo usermod -a -G dialout $USER
sudo reboot  # 重启生效

验证串口是否可访问:

bash

复制

下载

ls -l /dev/ttyUSB*

2. 编译并烧录固件

进入项目目录后执行以下步骤:

(1) 配置目标芯片

bash

复制

下载

idf.py set-target esp32  # 或 esp32s2/esp32c3/esp8266
(2) 编译项目

bash

复制

下载

idf.py build
(3) 烧录固件

通过串口烧录(替换 /dev/ttyUSB0 为你的实际端口):

bash

复制

下载

idf.py -p /dev/ttyUSB0 flash

关键参数

  • -p PORT:指定串口设备。

  • -b BAUD:可选,修改波特率(默认 460800)。


3. 常见问题解决

(1) 串口权限不足

错误提示:

复制

下载

Failed to open port /dev/ttyUSB0
Permission denied

解决

bash

复制

下载

sudo chmod 666 /dev/ttyUSB0
# 或永久加入 dialout 组(见步骤1.3)
(2) 烧录失败(波特率/连接问题)

尝试降低波特率:

bash

复制

下载

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

或检查硬件连接(USB 线/开发板是否正常)。

(3) 目标芯片不匹配

确保 set-target 与开发板型号一致(如 esp32 vs esp32s3)。


4. 高级操作

(1) 监视串口输出

烧录后实时查看日志:

bash

复制

下载

idf.py -p /dev/ttyUSB0 monitor

退出监视:按 Ctrl+]

(2) 擦除 Flash

bash

复制

下载

idf.py -p /dev/ttyUSB0 erase_flash
(3) 自定义烧录选项

在 menuconfig 中配置串口和 Flash 设置:

bash

复制

下载

idf.py menuconfig

路径:
Serial flasher config → 修改波特率、Flash 模式等。


5. 自动化脚本示例

将常用命令写入脚本(如 flash.sh):

bash

复制

下载

#!/bin/bash
PORT=/dev/ttyUSB0
BAUD=460800

idf.py build
idf.py -p $PORT -b $BAUD flash monitor

运行:

bash

复制

下载

chmod +x flash.sh
./flash.sh

总结

步骤命令
设置串口权限sudo chmod 666 /dev/ttyUSB0
编译项目idf.py build
烧录固件idf.py -p /dev/ttyUSB0 flash
监视输出idf.py -p /dev/ttyUSB0 monitor

通过以上步骤,你可以在 Ubuntu 下顺利完成 ESP-IDF 项目的串口烧录。遇到问题时,优先检查串口权限、硬件连接和芯片型号配置。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值