Клон ST-Link V2 перестал определяться в STM32CubeProgrammer или утилита ST-Link Utility требует обновить прошивку, а обновление завершается ошибкой — типичный сценарий, после которого пользователь ищет BIN-файл под маркировку своей платы, например J16 или S4. Эти обозначения нанесены на шелкографию печатной платы внутри алюминиевого корпуса и помогают понять, какая именно ревизия клона попалась в руки.

Запрос «stlinkv2 j16 s4 bin» обычно означает одно из двух: либо нужен дамп прошивки для восстановления «убитого» программатора, либо требуется понять, чем платы с маркировкой J16 и S4 отличаются друг от друга. Ниже разберём оба сценария, а также безопасные способы прошивки через UART-загрузчик и второй программатор.

Китайские клоны ST-Link V2 выпускаются десятками фабрик, и единого стандарта маркировки не существует. Надписи вроде J16, S4, U22 — это внутренние обозначения ревизий печатных плат конкретных производителей, а не официальные версии STMicroelectronics.

Практически все такие клоны построены на микроконтроллере STM32F103C8T6 (или его аналогах CS32F103, CH32F103, APM32F103). Именно чип, а не надпись на плате, определяет совместимость прошивки. Платы J16 и S4 чаще всего различаются только разводкой: расположением светодиода, посадочных мест под кварц и разводкой линий SWD.

Вывод простой: искать BIN-файл нужно не «под J16» или «под S4», а под установленный микроконтроллер. Топологию платы стоит проверить визуально после вскрытия корпуса — она влияет лишь на то, какие контакты удобнее использовать для прошивки.

💡

Маркировка J16 или S4 — это ревизия платы клона, а не версия прошивки. BIN-файл подбирается под микроконтроллер (обычно STM32F103C8T6), а не под надпись на шелкографии.

Как определить микроконтроллер внутри клона

Корпус клона обычно защёлкнут или склеен; вскрывается он аккуратным поддеванием пластиковой крышки со стороны USB-разъёма. Внутри — плата с одним основным чипом. Маркировку на нём нужно считать при хорошем освещении или сфотографировать с увеличением.

  • 🔍 STM32F103C8T6 — оригинальная база, прошивки ST-Link V2 работают штатно.
  • 🔍 CS32F103 / APM32F103 — совместимые клоны, оригинальная прошивка обычно встаёт, но обновление через официальную утилиту может завершаться ошибкой.
  • 🔍 CH32F103 — чип WCH, имеет отличия в периферии; с ним возможны проблемы при заливке оригинального дампа.
  • 🔍 Неопознанная маркировка или затёртый чип — ориентируйтесь на поведение платы и дамп, считанный с рабочего аналога.
⚠️ Внимание: вскрытие корпуса и работа с платой выполняются при отключённом USB. Случайное замыкание контактов питания металлическим инструментом может вывести из строя и клон, и USB-порт компьютера.

Официальная прошивка ST-Link V2 распространяется не отдельным BIN-файлом, а в составе утилиты STM32CubeProgrammer или пакета обновления прошивки ST-Link — внутри них лежат зашифрованные образы, которые заливаются только штатным механизмом обновления. Поэтому «чистый» BIN обычно получают одним из двух способов.

Первый — считать дамп с заведомо рабочего клона на том же микроконтроллере через интерфейс SWD. Второй — использовать готовые дампы, которые сообщество выкладывает на профильных ресурсах и в репозиториях; их происхождение невозможно гарантировать, поэтому перед заливкой разумно сверить размер файла и контрольную сумму с описанием источника.

Почему дамп с оригинального ST-Link не подходит напрямую

Оригинальные программаторы ST имеют защиту от чтения (RDP), поэтому снять дамп с фирменного устройства обычно нельзя. Все «заводские» BIN-файлы в сети — это дампы, считанные с клонов, на которых защита не установлена, либо сборки из открытых проектов.

Альтернатива — открытые прошивки. Проект Black Magic Probe позволяет превратить клон на STM32F103 в полноценный JTAG/SWD-отладчик с GDB-сервером, а бинарники собираются из исходников или берутся из релизов проекта. Это легальный и воспроизводимый путь, не зависящий от происхождения чужих дампов.

Восстановление прошивки через UART-загрузчик

В микроконтроллеры STM32F103 на аппаратном уровне встроен system bootloader, доступный через UART1 (выводы PA9/PA10). Это самый доступный способ оживить клон без второго программатора — понадобится только USB-UART адаптер на 3,3 В.

Порядок действий выглядит так. Пин BOOT0 на плате подтягивается к питанию 3,3 В (на многих платах J16/S4 под него есть нераспаянная перемычка или тестовая площадка). Затем адаптер подключается: TX → PA10, RX → PA9, GND → GND. Плата запитывается от USB, после чего в STM32CubeProgrammer выбирается подключение по UART и заливается BIN-файл по адресу 0x08000000.

☑️ Прошивка клона ST-Link V2 через UART

Выполнено: 0 / 6
⚠️ Внимание: USB-UART адаптер должен работать на логических уровнях 3,3 В. Подача 5-вольтовых уровней на выводы STM32 способна повредить микроконтроллер.

Прошивка через SWD вторым программатором

Если UART-загрузчик не отвечает (такое бывает на чипах-клонах) или хочется более контролируемого процесса, используется второй исправный ST-Link или любой SWD-отладчик. На платах клонов линии SWDIO, SWCLK, GND и 3,3 В обычно выведены на торцевой разъём или тестовые площадки.

Подключение стандартное: SWDIO к SWDIO, SWCLK к SWCLK, общий GND. Питание целевой платы можно взять с программатора, если он выдаёт 3,3 В, либо запитать клон от его собственного USB. В STM32CubeProgrammer выбирается режим SWD, выполняется Connect, затем — стирание и запись BIN-файла.

📊 Как вы восстанавливали клон ST-Link V2?
Через UART-загрузчик (BOOT0)
Через SWD вторым программатором
Перешил в Black Magic Probe
Не получилось — купил новый

Если соединение не устанавливается, попробуйте режим подключения Under Reset в настройках CubeProgrammer: он удерживает чип в сбросе в момент коннекта и помогает, когда текущая прошивка «занимает» отладочные пины.

СпособЧто нужноКогда выбирать
Штатное обновление ST-LinkSTM32CubeProgrammer, USBКлон определяется, но просит обновление
UART-загрузчикUSB-UART 3,3 В, перемычка BOOT0Устройство не определяется по USB
SWD вторым программаторомИсправный ST-Link/J-LinkUART молчит, нужен полный контроль
Black Magic ProbeЛюбой из способов заливкиНужен GDB-отладчик вместо ST-Link

Типичные ошибки и их решение

Самая частая проблема — сообщение Error: Flash download failed или отказ соединения ещё на этапе Connect. Причины обычно простые: перепутаны TX/RX при UART-подключении, не поднят BOOT0, плохой контакт в самодельных проводах или питание платы проседает из-за длинного USB-кабеля.

Вторая группа ошибок связана с чипами-клонами. На CS32 и APM32 оригинальная утилита обновления ST может отказываться работать, хотя сам клон исправен. В этом случае либо остаются на текущей версии прошивки, либо заливают совместимый дамп низкоуровневым способом — через SWD.

💡

Перед заливкой нового BIN всегда делайте полное чтение флеша (Read) и сохраняйте дамп текущей прошивки. Если новый файл окажется несовместимым, у вас останется путь назад.

  • 🛠️ Нет связи по UART — поменяйте местами TX/RX и проверьте BOOT0.
  • 🛠️ SWD не коннектится — режим Under Reset и снижение частоты SWD.
  • 🛠️ После прошивки USB молчит — возможно, BIN рассчитан на другой чип; верните сохранённый дамп.
  • 🛠️ Утилита обновления зависает — попробуйте другой USB-порт без хабов.
💡

Перед любой перепрошивкой сохраните дамп текущей флеш-памяти клона — это единственная гарантия отката, если новый BIN окажется несовместимым с конкретным чипом.

Чем плата J16 отличается от S4?

Это внутренние обозначения ревизий печатных плат разных производителей клонов. Принципиальной разницы для пользователя нет — важен установленный микроконтроллер (чаще всего STM32F103C8T6 или его аналог), а не надпись на шелкографии.

Где скачать официальный BIN прошивки ST-Link V2?

Отдельного BIN-файла STMicroelectronics не публикует — прошивка обновляется штатно через STM32CubeProgrammer или утилиту обновления ST-Link. BIN-дампы в открытом доступе — это файлы, считанные с клонов, либо сборки открытых проектов вроде Black Magic Probe.

Клон определяется, но обновление прошивки завершается ошибкой. Что делать?

Возможная причина — чип-клон (CS32, APM32, CH32), с которым официальная утилита обновления работать отказывается. Варианты: остаться на текущей версии прошивки, залить совместимый дамп через SWD или перевести устройство на открытую прошивку Black Magic Probe.

Можно ли прошить клон без второго программатора?

Да, через встроенный UART-загрузчик STM32: поднимается BOOT0, подключается USB-UART адаптер на 3,3 В к выводам PA9/PA10, и BIN заливается через STM32CubeProgrammer по адресу 0x08000000.

Убьёт ли неправильная прошивка клон окончательно?

Практически нет: пока жив сам микроконтроллер, его всегда можно перепрошить через SWD или UART-загрузчик. «Окирпичивание» на уровне прошивки обратимо — достаточно залить рабочий дамп, сохранённый заранее.