乐鑫技术交流
直播中

哈哈哈

9年用户 761经验值
擅长:可编程逻辑
私信 关注
[问答]

esp_idf_5.0 flash烧写经常失败的原因?怎么解决?

软件环境:

   vscode espressif idf插件1.5.1

   esp_idf_5.0

   esptool.py v4.4

硬件环境:

   esp32-s3

问题:

   之前的项目开发一直用idf 4.4.2没有问题,在删除4.4.2 所有安装路径并让插件重新安装5.0后,编译OK,但烧写经常出现各种异常,主要有以下2种:

(1)Writing at 0x00158887... (100 %)

A fatal error occurred: Packet content transfer stopped (received 8 bytes)

(2)

Compressed 1355856 bytes to 841909...

Writing at 0x00083fdb... (30 %)Traceback (most recent call last):

  File "runpy.py", line 194, in _run_module_as_main

  File "runpy.py", line 87, in _run_code

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptool__main__.py", line 11, in

    esptool._main()

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptool__init__.py", line 1026, in _main

    main()

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptool__init__.py", line 826, in main

    operation_func(esp, args)

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolcmds.py", line 556, in write_flash

    esp.flash_defl_block(block, seq, timeout=timeout)

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolloader.py", line 109, in inner

    return func(*args, **kwargs)

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolloader.py", line 991, in flash_defl_block

    self.check_command(

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolloader.py", line 407, in check_command

    val, data = self.command(op, data, chk, timeout=timeout)

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolloader.py", line 376, in command

    p = self.read()

  File "C:Espressifpython_envidf5.0_py3.8_envlibsite-packagesesptoolloader.py", line 308, in read

    return next(self._slip_reader)

StopIteration

*  终端进程“C:Espressifpython_envidf5.0_py3.8_envScriptspython.exe 'C:Userszhengesp_idf_v5.0esp-idfcomponentsesptool_pyesptoolesptool.py', '-p', 'COM18', '-b', '115200', '--before', 'default_reset', '--after', 'hard_reset', '--chip', 'esp32s3', 'write_flash', '--flash_mode', 'dio', '--flash_freq', '80m', '--flash_size', '8MB', '0x0', 'bootloader/bootloader.bin', '0x10000', 'brainlink_proj_01.bin', '0x8000', 'partition_table/partition-table.bin', '0xd000', 'ota_data_initial.bin'”已终止,退出代码: 1。

烧写参数可以参考上条日志。

分析:

    1.由于工程image_size将近1.4MB,因此烧录较慢,经常卡在某一进度

    2.替换小工程和demo也偶尔烧录失败

    3.在将esptool目录替换成idf4.4.2的esptool的后,烧写没有问题(目前用这种办法解决了)

因此是不是idf 5.0的esptool存在BUG,难道没有人有相同问题吗

更多回帖

发帖
×
20
完善资料,
赚取积分