feat: initial Zynq XC7Z100 Flasher GUI project

Add cross-platform GUI application for programming Zynq devices
with step-by-step workflow:

- CustomTkinter GUI with dark/light theme support
- 4-step workflow: Check Env → Flash → Bootloader → Main Program
- YAML configuration with relative path resolution
- Serial monitoring and boot log parsing
- TFTP upload with CRC32 verification
- SSH/serial reboot management
- Vivado/Impact tool auto-detection

Project structure:
- app.py: Entry point
- src/: Core modules (config, flash, bitstream, tftp, serial, gui)
- config/: Default configuration template
- .flasher_env/: Python virtual environment
This commit is contained in:
Jeremy Shen
2026-06-08 11:33:50 +08:00
commit bd39023ba7
19 changed files with 3859 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# 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)
bin_path: ""
elf_path: ""
bit_path: ""
# Reboot settings
reboot_timeout: 30
# Ping verification settings
ping_timeout: 5
ping_count: 3