Прошивка моста BL616 для Tang Primer 25K и программатор TangProgrammer
- 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.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Изменения
|
||||
|
||||
## 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 на плате не использовать.
|
||||
Reference in New Issue
Block a user