Заставляем работать китайский USB Blaster в Windows 11

Всем привет! Решил я изучать понемногу FPGA, и столкнулся с проблемой: китайский USB Blaster отказывается работать в Windows 11. Драйвера ставятся, но при попытке прошить FPGA, Quartus зависает где-то на этапе общения с программатором. При отключении USB Blaster-а от ПК, Quartus отвисает. В конечном итоге, помогла перепрошивка USB Blaster-а, но обо всем по порядку…

После вскрытия корпуса, было обнаружено, что данная версия программатора собрана на микроконтроллере STM32F103C8:
usb-blaster на STM32Вообще, встречаются несколько китайский модификаций USB Blaster-а, которые по внешнему виду ни как не отличаются. В моем случае, мне повезло, так как добрые люди подготовили готовую прошивку для этой версии программатора. Пользователь с ником DX168B на habr.com в комментариях под одним из постов кинул ссылку на бинарник, за что ему !!! ОГРОМНОЕ СПАСИБО !!!

Ссылка на пост: https://habr.com/ru/articles/851928/comments/
Ссылка на исходный архив: https://disk.yandex.ru/d/SKeTeekGNHkXJA
Продублирую ссылку, вдруг ссылка на яндекс-диск протухнет: https://dimoon.ru/wp-content/uploads/2025/03/usb_blaster_cm3.zip

В архиве содержится файл USB_Blaster_CM3.hex, который нам надо прошить в проц нашего USB Blaster-а.

Разбираем программатор, на плате имеется вот такая группа контактов, это и есть пины SWD, через которые можно перепрошить МК:

Здесь показано, куда выведен SWD, а также пин BOOT0 микроконтроллера, который нам понадобится тоже.

Подключаем программатор:

Далее, последовательность действий следующая:

  1. Закорачиваем пин BOOT0 на +3.3V как показано на картинке, я делал это пинцетом;
  2. Подаем питание на USB Blaster через USB, при этом светодиод ACT не должен загореться, после этого пинцет можно убрать;
  3. Подключаем ST-Link к ПК через USB;
  4. В ST-Link Utility пытаемся подключиться к микроконтроллеру, при этом ST-Link Utility сообщит нам, что процессор залочен от чтения;
  5. Отключаем защиту от чтения в Option Byles:
  6. После этого прошиваем USB_Blaster_CM3.hex;
  7. Отключаем питание программатора и USB Blaster-а, отключаем ST-Link от Blaster-а;
  8. Подключаем USB Blaster к ПК, проверяем, загорелся ли светодиод ACT, и обнаружился ли бластер в диспетчере устройств.

Небольшой комментарий насчет BOOT0. Видимо, прошивка бластера отключает изнутри интерфейс SWD, поэтому, подключиться к контроллеру программатором не предстоит возможным, особенно без пина Reset. Если мы замкнем BOOT0 на +3.3V, то это активирует встроенный загрузчик МК, и, следовательно, основная прошивка не запустится и не отключит интерфейс SWD.

После проделанной операции проверяем, корректно ли Quartus работает с нашим свежеперешитым USB Blaster-ом. Раньше на этом этапе Quartus зависал:

В итоге, все работает! Всем спасибо за внимание, надеюсь, эта статья кому-нибудь будет полезной!

Закладка Постоянная ссылка.

Обсуждение закрыто.