# Изменения ## v1.0.0 — 2026-10-01 Первый выпуск. **Прошивка моста BL616** (`tang25k_debugger_bl616.bin`, версия 1.0.0) * Составное USB-устройство `1209:C0CA`: DirtyJTAG v3 (WinUSB ставится сам, без Zadig) + CDC-ACM UART к пинам FPGA B3/C3; работают одновременно. * UART от 300 бод до 20 Мбод, 5–8 бит, чётность none/odd/even, 1/1.5/2 стоп-бита. Проверено 9600 … 12 Мбод в обе стороны без потерь, поток FPGA → ПК 10 Мбод непрерывно 30 с без ошибок. * JTAG до 30 МГц, длинные сдвиги через аппаратный SPI. Загрузка GW5A-25 в SRAM ≈ 2 с при 6 МГц, запись во флеш-память FPGA с проверкой ≈ 8 с. * Обход особенностей BL616: зависание приёмника UART при смене скорости посреди байта, запись `usbser.sys` без завершающего ZLP, потеря ZLP на IN. * Переход в загрузчик без перемычки: открыть COM-порт моста на 1234 бод или держать S3 при подключении USB. Пишется вместе с загрузчиком Sipeed: `bl616_bootloader_0x20000_nano20k_signed.bin` по адресу `0x0`, прошивка моста по адресу `0x20000`. Откат — `bl616_fpga_partner_25kDock.bin` (штатная Sipeed 2025030317) по адресу `0x0`. **Программатор TangProgrammer** (Windows 10/11 x64, .NET Framework 4) * FPGA: загрузка `.fs` в SRAM и во флеш-память, автозагрузка при пересборке в Gowin IDE, перезапуск из флеш-памяти. * Флеш-память FPGA: определение микросхемы, резервная копия с двойным чтением, запись `.bin`/`.fs`, стирание. * Прошивка моста BL616 и возврат штатной прошивки Sipeed. * Светлая и тёмная тема. **Тестовые битстримы** для GW5A-25: `loopback.fs` (петля UART) и `stream.fs` (поток 10 Мбод) — к `tests\uart_loopback_test.py` и `tests\uart_stream_test.py`. **Ограничения:** Gowin Programmer с этой прошивкой не работает (только openFPGALoader); `--unprotect-flash` с флеш-памятью XTX на плате не использовать.