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引脚设置错误