Files
Zynq_Flasher/config/default_config.yaml
T
Jeremy Shen 2c48224aea feat: UART monitor, step timeouts, and non-blocking subprocess output
Based on real hardware timing data from XC7Z100 testing:

UART Monitoring:
- New UartMonitor class in serial_monitor.py: background thread reads
  serial output continuously, parses for IP/version/boot messages
- GUI starts monitor when workflow runs, stops on completion/close
- Serial lines flow into log display in real time

Step Timing:
- New step_timeouts config (experience × 2):
  check_env:30s flash_erase:120s flash_program:600s
  bitstream:60s elf_download:60s tftp_reboot:120s
- GUI shows estimated timeout before each step
- Shows actual elapsed time after each step completes
- All subprocess calls now use config-driven timeouts

Non-blocking Output:
- New subprocess_utils.py: run_streaming() uses Popen + threaded
  stdout/stderr readers, parses WARNING/ERROR/progress% in real time
- flash_programmer and bitstream_programmer use it
- Callbacks receive categorized events (out/err/warn/error/progress/done)
2026-06-10 13:21:32 +08:00

51 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Default configuration for Zynq XC7Z100 Flasher
# Paths are relative to this config file's directory.
# Vitis/Vivado installation path (where bootgen, impact, etc. reside)
vitis_path: ""
# Zynq device network settings
zynq_ip: "192.168.100.11"
tftp_upload_name: "z7bin"
# Serial port settings
serial_port: ""
serial_baudrate: 115200
# File paths (relative to config file directory)
# Bootloader files (Step 3: Load Bootloader)
bootloader_bit_path: ""
bootloader_elf_path: ""
# Flash programming (Step 2: Program & Verify Flash)
# bootloader_bin_path is the bootloader image to program into QSPI flash
# fsbl_elf_path is the FSBL (First Stage Boot Loader) required by program_flash
# flash_type sets the QSPI interface mode (qspi-x4-single, qspi-x8-dual_parallel, etc.)
bootloader_bin_path: ""
fsbl_elf_path: ""
flash_type: "qspi-x4-single"
# Firmware upload (Step 4: Load Main Program via TFTP)
firmware_bin_path: ""
# Reboot settings
reboot_timeout: 30
# Ping verification settings
ping_timeout: 5
ping_count: 3
# Step timing (seconds) — used for progress bar max and timeout (experience × 2)
step_timeouts:
check_env: 30 # Step 1: tool detection + JTAG scan (~5s actual)
flash_erase: 120 # Step 2a: QSPI chip erase (~40s actual for 17MB)
flash_program: 600 # Step 2b: QSPI program+verify (~300s actual for 17MB at x4)
bitstream: 60 # Step 3a: FPGA configuration via JTAG (~16s actual)
elf_download: 60 # Step 3b: ELF download to PS via JTAG (~9s actual)
tftp_reboot: 120 # Step 4: TFTP upload + reboot + boot verify (~30s network)
# Delays (seconds)
inter_step_delay: 2
uart_delay: 3