Клон ST-Link V2 перестал определяться в STM32CubeProgrammer или утилита ST-Link Utility требует обновить прошивку, а обновление завершается ошибкой — типичный сценарий, после которого пользователь ищет BIN-файл под маркировку своей платы, например J16 или S4. Эти обозначения нанесены на шелкографию печатной платы внутри алюминиевого корпуса и помогают понять, какая именно ревизия клона попалась в руки.
Запрос «stlinkv2 j16 s4 bin» обычно означает одно из двух: либо нужен дамп прошивки для восстановления «убитого» программатора, либо требуется понять, чем платы с маркировкой J16 и S4 отличаются друг от друга. Ниже разберём оба сценария, а также безопасные способы прошивки через UART-загрузчик и второй программатор.
Что означают маркировки J16 и S4 на плате ST-Link V2
Китайские клоны 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-порт компьютера.
Откуда взять BIN-прошивку для ST-Link V2
Официальная прошивка 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
⚠️ Внимание: 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-файла.
Если соединение не устанавливается, попробуйте режим подключения Under Reset в настройках CubeProgrammer: он удерживает чип в сбросе в момент коннекта и помогает, когда текущая прошивка «занимает» отладочные пины.
| Способ | Что нужно | Когда выбирать |
|---|---|---|
| Штатное обновление ST-Link | STM32CubeProgrammer, USB | Клон определяется, но просит обновление |
| UART-загрузчик | USB-UART 3,3 В, перемычка BOOT0 | Устройство не определяется по USB |
| SWD вторым программатором | Исправный ST-Link/J-Link | UART молчит, нужен полный контроль |
| 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 окажется несовместимым с конкретным чипом.
Частые вопросы о ST-Link V2, J16 и S4
Чем плата 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-загрузчик. «Окирпичивание» на уровне прошивки обратимо — достаточно залить рабочий дамп, сохранённый заранее.