fix: use xsct (not Vivado) for JTAG check + normalize COM>=10 ports on Windows

**JTAG check**: Switch from Vivado to xsct
- xsct is already proven to work (JTAG reboot succeeds)
- Much lighter than Vivado (no GUI infrastructure / open_hw_manager)
- Uses -eval inline TCL: connect; targets; disconnect; quit
- Removes dead tempfile/Path/os imports

**Windows COM port**: Add normalize_port() to serial_monitor.py
- COM ports >= 10 require NT namespace prefix (\.\COM11)
- Without it: PermissionError(13, '拒绝访问。')
- Applied at all 7 call sites: serial_monitor (5), reboot_manager, widgets
This commit is contained in:
2026-06-11 16:29:32 +08:00
parent 91417f609e
commit 7716171aeb
4 changed files with 56 additions and 38 deletions
+2 -1
View File
@@ -1075,7 +1075,8 @@ class UartMonitorWindow(ctk.CTkToplevel):
def _bg_open() -> None:
try:
import serial
ser = serial.Serial(self._port, self._baudrate, timeout=1)
from serial_monitor import normalize_port
ser = serial.Serial(normalize_port(self._port), self._baudrate, timeout=1)
ser.close()
self.after(0, self._on_open_success)
except Exception as e: