========================================
GUI 文件验证阶段 - 2026-03-05 12:44:08
========================================

【日志文件信息】
  脚本/程序目录: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA
  日志文件路径: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\flash_debug.log
  当前工作目录: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA

【原始输入值】
  textBootloader.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  textPartitions.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  textFirmware.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  comboPort.SelectedItem: 'COM4'

【Partitions 路径处理】
  原始路径: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  是否为绝对路径: True
  文件存在: True

【Firmware 路径处理】
  原始路径: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  是否为绝对路径: True
  文件存在: True

【Bootloader 路径处理】
  原始路径: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  是否为绝对路径: True
  文件存在: True

【日志文件状态】
  日志文件已创建: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\flash_debug.log

========================================
参数构建和执行阶段 - 2026-03-05 12:44:09
========================================

【验证后的路径值】
  Bootloader.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  Partitions.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  Firmware.Text: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  SelectedPort: 'COM4'

【路径验证结果】
  bootloaderPath: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  partitionsPath: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  firmwarePath: 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  selectedPort: 'COM4'

【文件存在性检查】
  Bootloader 存在: True (D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin)
  Partitions 存在: True (D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin)
  Firmware 存在: True (D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin)

【参数数组构建过程】
  添加: -BootloaderPath 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  添加: -PartitionsPath 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  添加: -FirmwarePath 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  添加: -Port 'COM4'
  添加: -ShowDebug
  添加: -NoConfirm

【最终参数数组】
  [0] -BootloaderPath = 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
  [2] -PartitionsPath = 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
  [4] -FirmwarePath = 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'
  [6] -Port = 'COM4'
  [8] -ShowDebug = '-NoConfirm'

【查找 esptool】
  检查独立 esptool.exe: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\esptool.exe
  找到: esptool.exe (独立版本)
【完整命令参数（数组）】
  EXE: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\esptool.exe
    [0] '--chip'
    [1] 'esp32'
    [2] '--port'
    [3] 'COM4'
    [4] '--baud'
    [5] '460800'
    [6] '--before'
    [7] 'default_reset'
    [8] '--after'
    [9] 'hard_reset'
    [10] 'write_flash'
    [11] '-z'
    [12] '--flash_mode'
    [13] 'dio'
    [14] '--flash_freq'
    [15] '40m'
    [16] '--flash_size'
    [17] '4MB'
    [18] '0x1000'
    [19] 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin'
    [20] '0x8000'
    [21] 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin'
    [22] '0x10000'
    [23] 'D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin'

【进程启动】
  使用 ProcessStartInfo + File 方式启动
  参数数量: 24
  参数字符串: --chip esp32 --port COM4 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin" 0x8000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin" 0x10000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin"

  准备启动进程...
  进程文件名: D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\esptool.exe
  进程参数: --chip esp32 --port COM4 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\bootloader.bin" 0x8000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\partitions.bin" 0x10000 "D:\Tommy Project\28 pump\电竞机\SW\SW\Host(ESP32)\电竞机HostV1.10\XFreedom OTA\OTA_Image\firmware.bin"

  进程启动结果: True
  进程 ID: 29272

【进程执行结果】
  结束时间: 2026-03-05 12:44:28
  退出码: 0

【标准输出】
  长度: 2342 字符
  内容:
esptool.py v4.5.1
Serial port COM4
Connecting.......
Chip is ESP32-D0WDQ6 (revision v1.0)
Running stub...
Crystal is 40MHz
Changing baud rate to 460800
Configuring flash size...
Uploading stub...
Stub running...
Changed.
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x000e0fff...
Writing at 0x00001000... (100 %)
Warning: Image file at 0x1000 is protected with a hash checksum, so not changing the flash frequency setting. Use the --flash_frequency=keep option instead of --flash_frequency=40m in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum
Compressed 18656 bytes to 12053...
MAC: 30:ae:a4:15:76:f0
Features: WiFi, BT, Dual Core, Coding Scheme None
Hash of data verified.
Wrote 18656 bytes (12053 compressed) at 0x00001000 in 0.5 seconds (effective 277.9 kbit/s)...
Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %)
Hash of data verified.
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 476.0 kbit/s)...
Writing at 0x00010000... (3 %)
Compressed 852448 bytes to 471529...
Writing at 0x0001a520... (6 %)
Writing at 0x000264fa... (10 %)
Writing at 0x00034a48... (13 %)
Writing at 0x0004e236... (17 %)
Writing at 0x000538ee... (20 %)
Writing at 0x000589ec... (24 %)
Writing at 0x0005e8b3... (27 %)
Writing at 0x00063c19... (31 %)
Writing at 0x00068e20... (34 %)
Writing at 0x0006e388... (37 %)
Writing at 0x000738f6... (41 %)
Writing at 0x00078baf... (44 %)
Writing at 0x0008189f... (48 %)
Writing at 0x00089df6... (51 %)
Writing at 0x0008f332... (55 %)
Writing at 0x00094d78... (58 %)
Writing at 0x0009a11d... (62 %)
Writing at 0x0009ffb8... (65 %)
Writing at 0x000a5ac6... (68 %)
Writing at 0x000ab8f6... (72 %)
Writing at 0x000b147e... (75 %)
Writing at 0x000b7048... (79 %)
Writing at 0x000bcc07... (82 %)
Writing at 0x000c34a5... (86 %)
Writing at 0x000c9388... (89 %)
Writing at 0x000cf5a8... (93 %)
Writing at 0x000d561b... (96 %)
Writing at 0x000db2f6... (100 %)
Wrote 852448 bytes (471529 compressed) at 0x00010000 in 11.6 seconds (effective 586.7 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...


【错误输出】
  长度: 0 字符
  (空)

========================================
flash_files.ps1 输出
========================================
esptool.py v4.5.1
Serial port COM4
Connecting.......
Chip is ESP32-D0WDQ6 (revision v1.0)
Running stub...
Crystal is 40MHz
Changing baud rate to 460800
Configuring flash size...
Uploading stub...
Stub running...
Changed.
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x000e0fff...
Writing at 0x00001000... (100 %)
Warning: Image file at 0x1000 is protected with a hash checksum, so not changing the flash frequency setting. Use the --flash_frequency=keep option instead of --flash_frequency=40m in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum
Compressed 18656 bytes to 12053...
MAC: 30:ae:a4:15:76:f0
Features: WiFi, BT, Dual Core, Coding Scheme None
Hash of data verified.
Wrote 18656 bytes (12053 compressed) at 0x00001000 in 0.5 seconds (effective 277.9 kbit/s)...
Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %)
Hash of data verified.
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 476.0 kbit/s)...
Writing at 0x00010000... (3 %)
Compressed 852448 bytes to 471529...
Writing at 0x0001a520... (6 %)
Writing at 0x000264fa... (10 %)
Writing at 0x00034a48... (13 %)
Writing at 0x0004e236... (17 %)
Writing at 0x000538ee... (20 %)
Writing at 0x000589ec... (24 %)
Writing at 0x0005e8b3... (27 %)
Writing at 0x00063c19... (31 %)
Writing at 0x00068e20... (34 %)
Writing at 0x0006e388... (37 %)
Writing at 0x000738f6... (41 %)
Writing at 0x00078baf... (44 %)
Writing at 0x0008189f... (48 %)
Writing at 0x00089df6... (51 %)
Writing at 0x0008f332... (55 %)
Writing at 0x00094d78... (58 %)
Writing at 0x0009a11d... (62 %)
Writing at 0x0009ffb8... (65 %)
Writing at 0x000a5ac6... (68 %)
Writing at 0x000ab8f6... (72 %)
Writing at 0x000b147e... (75 %)
Writing at 0x000b7048... (79 %)
Writing at 0x000bcc07... (82 %)
Writing at 0x000c34a5... (86 %)
Writing at 0x000c9388... (89 %)
Writing at 0x000cf5a8... (93 %)
Writing at 0x000d561b... (96 %)
Writing at 0x000db2f6... (100 %)
Wrote 852448 bytes (471529 compressed) at 0x00010000 in 11.6 seconds (effective 586.7 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...

