esp32烧录,debug相关

一、ESP32烧录错误总结
1.错误一:等待报头超时
A fatal error occurred: Timed out waiting for packet header
 
此错误通常意味着esp32模组(芯片)没有正常进入下载模式,也有可能串口被占用。
 
解决方案:通过串口调试助手查看是否有进入下载模式的打印;检查模组的strapping管脚电平是否处于下载模式的电平;检查串口是否被占用。
 
2.错误二:没有接收到串行数据
A fatal error occurred: No serial data received
此错误通常意味着某种硬件问题,如TX、RX引脚未连接,usb转串口工具(CH340等)硬件存在问题等。串口rx,tx接反。
 
解决方案:检查串口引脚连接是否正常,更换usb转串口工具等。
 
3.错误三:没有串口权限
Failed to open port /dev/ttyUSB0
此错误通常出现在Linux向esp32烧录固件时,说明串口此时确实对应的权限。
 
解决方案:此时可执行以下命令以将用户添加至 dialout 组。
 
sudo usermod -a -G dialout $USER
 
4.错误四:数据包头 (0xXX) 无效:可能的串行噪音或损坏。
A fatal error occurred: Invalid head of packet (0xXX): Possible serial noise or corruption.
此错误通常意味着以下某种硬件问题:
 
1)使用质量差的usb电缆;
 
2)开发板spi flash 引脚短路等问题;
 
3)烧录时的电压不稳定等;
 
解决方案:更换usb电缆;更换模组或开发板尝试;更换稳压电源供电
 
5.错误五:拒绝许可 dev/ttyUSB0
Permission denied: '/dev/ttyUSB0'
 
此错误说明串口被其它工具占用。
 
解决方案:检查串口调试助手工具关闭串口。
 
6.错误六:将压缩数据写入flash失败
A fatal error occurred: Failed to write compressed data to flash after seq 32 (result was C100)
本人没有实际遇见过此问题,也许与flah参数有关,解决方法可以参考论坛。
 
解决方案:参考《压缩数据写入flash失败》
 
 
 
7.错误七:MD5文件与flash中的数据不匹配!
A fatal error occurred: MD5 of file does not match data in flash!
这意味着 esptool.py 将新的二进制文件写入闪存后,它会读回内容,并且不匹配。本人没有实际遇见过这个错误,但看论坛里的讨论似乎与flah有关,也许是flash损坏或引脚焊接问题,解决方法可以尝试参考论坛的方法。
 
解决方案:参考《MD5文件与flash中的数据不匹配》

 

串口上电出现:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0

不停复位重启:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0
E (8) ledc: ledc_channel_config(608): gpio_num argument is invalid
E (8) gpio: gpio_set_level(226): GPIO output gpio_num error
serial initialize ok
E (2131) gpio: gpio_set_level(226): GPIO output gpio_num error
E (3231) gpio: gpio_set_level(226): GPIO output gpio_num error

gpio设置错误,仅输入引脚被设定为pwm输出后出现此情况

不存在串口或者开发板

boot引脚设置错误

posted @ 2023-08-17 16:14  为鲸  阅读(1088)  评论(0编辑  收藏  举报