Jeremy Shen
|
7067ce273f
|
feat: user TCL flow + parser dedup + Python TFTP
1. bitstream_programmer — combined BIT+ELF flow (user's TCL):
- targets -set -nocase -filter {name =~ "arm*#0"}
- rst -processor (bypass BootROM, block Flash boot)
- dow fsbl → con → stop (FSBL hardware init)
- fpga -f bit (configure PL)
- dow app → con (run bootloader)
- Single xsct session, no ps7_init dependency
2. serial_monitor — parser fixes:
- Boot mode parsing: 'Boot mode is JTAG' → Boot=JTAG
- Version noise filter: rejects '3.1','update','mode','loaded'
- Deduplication: UartMonitor only emits when (boot_mode, IP, ver) changes
- Fixed false match: 'Boot mode' no longer captured as version
3. tftp_manager — pure Python TFTP client:
- _tftp_put(): RFC 1350 WRQ/DATA/ACK via UDP socket
- No external tftp command dependency
- tftp_download(): documented as not-implemented (needs PC server)
|
2026-06-10 16:57:54 +08:00 |
|
Jeremy Shen
|
bd39023ba7
|
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
|
2026-06-08 11:33:50 +08:00 |
|