Распиновка разъема ST-Link V2 — первое, что нужно проверить, когда утилита STM32 ST-LINK Utility или STM32CubeProgrammer выдает ошибку «No target connected» при заведомо исправном программаторе. Практически всегда причина кроется в перепутанных проводах SWDIO/SWCLK, отсутствующем общем GND или питании целевой платы, а не в неисправности самого устройства.
Клоны ST-Link V2 в алюминиевом корпусе выпускаются в нескольких вариантах, и маркировка контактов на разных партиях может отличаться. Поэтому перед первым подключением стоит сверить распиновку конкретного экземпляра — это займет минуту и убережет целевой микроконтроллер от повреждений.
Назначение контактов ST-Link V2
Стандартный клон ST-Link V2 имеет 10 контактов в два ряда по 5 штук с шагом 2,54 мм. Для прошивки по интерфейсу SWD реально задействуются только четыре линии: SWCLK, SWDIO, GND и 3.3V. Остальные контакты — дублирующие питание и землю, а также линии RST и SWO, которые используются реже.
Типовая распиновка популярного клона в металлическом корпусе выглядит так (ряды указаны при взгляде на разъем со стороны контактов, ключ корпуса слева):
| Контакт | Назначение | Обязательность |
|---|---|---|
| SWCLK | Тактовый сигнал интерфейса SWD | Обязателен |
| SWDIO | Линия данных SWD | Обязателен |
| GND | Общий провод (земля) | Обязателен |
| 3.3V | Питание целевой платы / опорное напряжение | Обязателен |
| RST | Сброс целевого MCU (connect under reset) | Опционально |
| SWO | Отладочный вывод трассировки | Опционально |
⚠️ Внимание: маркировка на клонах ST-Link V2 не стандартизирована. Встречаются партии, где контакты SWCLK и SWDIO поменяны местами относительно привычной схемы. Перед подключением прозвоните контакты мультиметром относительно GND или сверьтесь с документацией продавца.
Минимальная схема подключения к STM32
Для прошивки микроконтроллера STM32F103 (плата Blue Pill) или любого другого STM32 вам нужно соединить четыре провода. Контакт SWCLK программатора подключается к выводу PA14 целевого чипа, SWDIO — к PA13. Это стандартные выводы отладки у всей линейки STM32F1; у других серий (F0, F4, G0) назначение выводов SWD аналогично по функции, но номера пинов стоит уточнить в даташите конкретного микроконтроллера.
Общий провод GND соединяется напрямую, без него обмен данными невозможен. Линия 3.3V с программатора может питать целевую плату, если ее потребление невелико — для голого MCU этого достаточно.
☑️ Проверка перед первым подключением
Питание целевой платы: важный нюанс
Частая ошибка — попытка прошить плату, которая уже запитана от собственного источника, при этом линия 3.3V программатора тоже подключена. Два источника питания, соединенные вместе, могут конфликтовать. Правило простое: либо плата питается от ST-Link, либо от своего источника — но тогда контакт 3.3V программатора оставьте неподключенным или используйте его только как опорный, если это предусмотрено схемой.
Если целевая плата потребляет заметный ток (дисплей, датчики, реле), запитывайте ее отдельно, а от ST-Link подключайте только SWCLK, SWDIO и GND.
Обратите внимание: выход 3.3V клона рассчитан на малые токи. Нагружать его периферией не стоит — возможны просадки напряжения и сбои при прошивке.
Типичные ошибки при подключении
- 🔀 Перепутаны SWCLK и SWDIO — самая частая причина ошибки соединения, лечится простой перестановкой проводов.
- 🔌 Отсутствует общий GND между программатором и платой.
- 🔋 Целевая плата не запитана — ST-Link не «видит» чип без питания на нем.
- 📏 Слишком длинные провода — при длине более 15–20 см возможны сбои обмена.
- ⚙️ Выводы PA13/PA14 переназначены в прошивке как GPIO — тогда нужен режим
Connect Under Resetили подключение линии RST.
⚠️ Внимание: никогда не подключайте программатор к плате, запитанной от высокого напряжения или имеющей гальваническую связь с сетью 220 В. Клон ST-Link V2 не имеет гальванической развязки — это может вывести из строя и программатор, и USB-порт компьютера.
Что делать, если MCU не определяется
Если провода подключены верно, а чип не определяется, действуйте по нарастающей. Сначала проверьте напряжение питания целевого MCU мультиметром — оно должно быть около 3,3 В. Затем в настройках STM32CubeProgrammer попробуйте снизить частоту SWD и сменить режим подключения на Under Reset или Hardware Reset.
Помогает и физическая проверка: прозвоните каждый провод от программатора до ножки чипа — обрыв в дешевых dupont-кабелях встречается чаще, чем кажется. Если прошивка ранее отключила пины SWD, без линии RST и режима connect under reset чип «оживить» не получится — подключите RST к выводу NRST микроконтроллера.
Почему клоны ST-Link V2 так популярны
Оригинальный отладчик ST стоит заметно дороже, а клоны на чипе STM32F103 обеспечивают ту же базовую функциональность SWD-программирования. Многие клоны можно также перепрошить в J-Link или использовать как USB-UART после модификации, однако такие операции выполняются на свой риск.
Для работы ST-Link V2 достаточно четырех проводов: SWCLK, SWDIO, GND и 3.3V. Ошибка «No target connected» почти всегда означает проблему в проводке или питании, а не в самом программаторе.
Обновление прошивки и драйверы
Под Windows клоны ST-Link V2 обычно требуют установки драйвера ST-LINK с сайта STMicroelectronics — без него устройство определяется с ошибкой в диспетчере устройств. Утилита STM32CubeProgrammer при подключении может предложить обновить прошивку программатора; на клонах обновление иногда завершается неудачей из-за урезанной прошивки загрузчика.
Если обновление «убило» программатор, существуют методы восстановления через заливку прошивки по SWD с помощью второго ST-Link, но это уже тема отдельной инструкции. На Linux драйверы не нужны — достаточно правил udev для доступа без root.
Держите под рукой два программатора: если один «завис» после неудачного обновления прошивки, второй позволит восстановить его через SWD.
Часто задаваемые вопросы
Можно ли прошивать ST-Link V2 микроконтроллеры не от ST?
Нет, штатно ST-Link работает только с микроконтроллерами STM32 и STM8. Для чипов других производителей нужны их фирменные отладчики или универсальные решения вроде J-Link.
Обязательно ли подключать контакт RST?
Нет, для обычной прошивки достаточно SWCLK, SWDIO, GND и питания. RST нужен, когда прошивка в чипе отключила пины отладки или MCU находится в глубоком сне — тогда помогает режим Connect Under Reset.
Почему на разъеме два контакта 3.3V и два GND?
Это дублирующие контакты для удобства разводки и снижения сопротивления соединения. Электрически они соединены между собой внутри программатора, использовать можно любой из них.
Работает ли ST-Link V2 с 5-вольтовыми платами?
Интерфейс SWD у программатора рассчитан на уровни 3,3 В. Подключение к 5-вольтовой логике без согласования уровней может повредить программатор — для таких задач нужен преобразователь уровней.
Как отличить выводы SWCLK и SWDIO, если маркировка стерлась?
Прозвоните контакты мультиметром: GND звонится с минусом USB-разъема. Далее можно подключить заведомо исправную плату STM32 и методом перестановки двух оставшихся сигнальных проводов определить верную комбинацию — при правильном подключении чип определится в программе.