- src/: прошивка встроенного отладчика BL616 — составное USB-устройство 1209:C0CA: DirtyJTAG v3 (WinUSB через MS OS 2.0) + CDC-ACM UART к FPGA B3/C3; UART до 20 Мбод на DMA, JTAG до 30 МГц через аппаратный SPI; - bin/: загрузчик Sipeed (0x0) и штатная прошивка 2025030317 для отката; - gui/: TangProgrammer.exe (C# WinForms, .NET Framework 4) — загрузка FPGA в SRAM и во флеш-память, копия и стирание флеш-памяти FPGA, прошивка моста; светлая и тёмная тема; - scripts/: setup, build, flash, build_gui, make_portable, а также make_release и publish_release для релизов Gitea; - fpga_test/, tests/: тестовые проекты Gowin (loopback, stream) и тесты UART на Python; - tools/openFPGALoader/: openFPGALoader 1.1.1 для Windows x64.
39 lines
2.6 KiB
Markdown
39 lines
2.6 KiB
Markdown
# Изменения
|
|
|
|
## 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 на плате не использовать.
|