ESP32-S3模块烧录LVGL工程时无法打开端口问题求助
ESP32-S3烧录LVGL项目串口端口错误的解决方法
问题描述
尝试将LVGL移植到ESP32的演示项目烧录至搭载ESP32-S3-WROVER芯片的WT32-SC01 PLUS(3.5英寸320X480)模块,使用ESP-IDF v4.4.4编译正常,但执行烧录命令idf.py -p 9 flash时出现串口无法打开的错误。
错误日志
Executing action: flash Running ninja in directory c:\cpp_test\!esp32\lv_port_esp32\build Executing "ninja flash"... [1/5] cmd.exe /C "cd /D C:\cpp_test\!esp32\lv_port_esp32\b....bin C:/cpp_test/!esp32/lv_port_esp32/build/lvgl-demo.bin" lvgl-demo.bin binary size 0x67210 bytes. Smallest app partition is 0x100000 bytes. 0x98df0 bytes (60%) free. [2/5] Performing build step for 'bootloader' [1/1] cmd.exe /C "cd /D C:\cpp_test\!esp32\lv_port_esp32\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf4.4_py3.11_env\Scripts\python.exe C:/espressif/frameworks/esp-idf-v4.4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 C:/cpp_test/!esp32/lv_port_esp32/build/bootloader/bootloader.bin" Bootloader binary size 0x63b0 bytes. 0xc50 bytes (11%) free. [2/3] cmd.exe /C "cd /D C:\espressif\frameworks\esp-idf-v4...sp-idf-v4.4.4/components/esptool_py/run_serial_tool.cmake" esptool.py esp32 -p 9 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 lvgl-demo.bin 0x8000 partition_table/partition-table.bin Traceback (most recent call last): esptool.py v3.3.2 Serial port 9 File "C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py", line 5482, in <module> _main() File "C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py", line 5475, in _main main() File "C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py", line 4782, in main esp = esp or get_default_connected_device(ser_list, port=args.port, connect_attempts=args.connect_attempts, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py", line 115, in get_default_connected_device _esp = chip_class(each_port, initial_baud, trace) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py", line 345, in __init__ self._port = serial.serial_for_url(port) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Espressif\python_env\idf4.4_py3.11_env\Lib\site-packages\serial\__init__.py", line 90, in serial_for_url instance.open() File "C:\Espressif\python_env\idf4.4_py3.11_env\Lib\site-packages\serial\serialwin32.py", line 64, in open raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError())) serial.serialutil.SerialException: could not open port '9': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2) CMake Error at run_serial_tool.cmake:56 (message): C:/Espressif/python_env/idf4.4_py3.11_env/Scripts/python.exe C:/espressif/frameworks/esp-idf-v4.4.4/components/esptool_py/esptool/esptool.py --chip esp32 failed FAILED: CMakeFiles/flash C:/cpp_test/!esp32/lv_port_esp32/build/CMakeFiles/flash cmd.exe /C "cd /D C:\espressif\frameworks\esp-idf-v4.4.4\components\esptool_py && C:\Espressif\tools\cmake\3.23.1\bin\cmake.exe -D IDF_PATH=\"C:/espressif/frameworks/esp-idf-v4.4.4\" -D SERIAL_TOOL=\"C:/Espressif/python_env/idf4.4_py3.11_env/Scripts/python.exe C:/espressif/frameworks/esp-idf-v4.4.4/components/esptool_py/esptool/esptool.py --chip esp32\" -D SERIAL_TOOL_ARGS=\"--before=default_reset --after=hard_reset write_flash @flash_args\" -D WORKING_DIRECTORY=\"C:/cpp_test/!esp32/lv_port_esp32/build\" -P C:/espressif/frameworks/esp-idf-v4.4.4/components/esptool_py/run_serial_tool.cmake" ninja: build stopped: subcommand failed. ninja failed with exit code 1
解决步骤
- 修正端口参数格式:Windows系统下串口端口必须以
COM开头,原命令中的9格式错误,正确格式应为COM9,执行以下命令:idf.py -p COM9 flash - 确认正确的串口编号:
- 打开Windows设备管理器,展开「端口(COM和LPT)」,找到ESP32模块对应的串口(通常标注为「USB Serial Port」或「Silicon Labs CP210x」)。
- 记录对应的COM编号,确保命令中使用的编号与设备管理器显示一致。
- 检查串口连接:
- 确认USB数据线具备数据传输功能(部分充电线无数据引脚),重新插拔确保连接稳定。
- 若设备管理器中无对应串口,安装WT32-SC01 PLUS的串口驱动(通常为CP210x驱动)。
- 指定正确的芯片型号:模块使用ESP32-S3芯片,原命令默认指定
esp32可能导致兼容性问题,建议补充芯片参数:idf.py -p COM9 --chip esp32s3 flash
内容的提问来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

