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
+22
View File
@@ -0,0 +1,22 @@
"""Zynq XC7Z100 Flasher GUI — Entry Point."""
import sys
import os
from pathlib import Path
# Add src to path
src_dir = Path(__file__).parent / "src"
if str(src_dir) not in sys.path:
sys.path.insert(0, str(src_dir))
from gui.main_window import MainWindow
def main() -> None:
"""Launch the Zynq Flasher GUI application."""
app = MainWindow()
app.mainloop()
if __name__ == "__main__":
main()