Вы находитесь на странице: 1из 9

A_D Electronics

Прошивка ST-Link в J-Link


A_D 4 года назад

Реклама

Иногда полезен программатор J-Link, не буду вникать в тонкости и его


плюсы\минусы, но если у Вас в наличии дешевый китайский ST-Link — то
считайте, что у вас 2 версии программатора по необходимости! Интересно узнать,
как это делать на китайских клонах? Читай дальше ;)

Внимание! Материал ниже представлен исключительно в ознакомительных


целях, и если Вам необходим J-Link в коммерческих целях, то следует приобрести
официальный программатор.

На просторах Ebay или AliExpress по ключевому слову «ST-Link v2» можно найти
множество клонов. Практически все они собраны на STM32F103C8T6 , но, судя по
всему, можно нарваться и на другой вариант с камнем STM32F101CBT6 как
отписались в комментариях. Такой не подходит и лучше узнать у продавца, если
хотите купить в закрытом корпусе или не уверены, что стоит на плате у
продавца. (поправка! ВОТ ТУТ пишут, что прекрасно обновляются клоны и на этом
камне, но USB в STM32F101CBT6 нет по документации, возможны баги\глюки). У
меня же в наличии вот такой (также собирал свой собственный — описанный
способ прошивки на нем тоже работает):
Есть различные варианты, они будут идентичны этому. Примерная схема этого
варианта:

Ну что, приступим! Для работы нам понадобится:

сам программатор, естественно (официальный сайт и драйвера, если


понадобится);
драйвера для J-LINK — взять тут (J-Link Software and Documentation Pack);
пакет с утилитой обновления — STLinkReflash_161007.zip (а тут официальный
сайт).

Реклама

Изначально утилита от SEGGER не видит китайские клоны и поддерживает только


официальные отладочные платы с этим программатором и сами официальные
программаторы. Но на форуме esp8266.ru было найдено решение (спасибо pvvx!) —
необходим небольшой патч оригинального STLinkReflash.exe и он будет без
проблем обновлять и клоны! :)

Патч для STLinkReflash.exe (версия 161007) состоит из замены 3х байт. На всякий


случай привожу его тут (адрес: оригинальное значение | новое значение):

1. 00002568: 75 | 90
2. 00002569: 66 | 90
3. 000026AA: 74 | EB

В архиве выше есть как и оригинальный файл, так и патченный


— STLinkReflashFixed.exe. Для обновления необходимо использовать его.

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


установились драйвера. Запускаем STLinkReflashFixed.exe. Принимает
соглашение от SEGGER:

Далее принимаем соглашение от STM:


И мы в главном меню:

[0] Выход
[1] Обновить до J-Link
[2] Обновить прошивку J-Link
[3] Восстановить ST-Link

Выбираем 1-й пункт и прошивка за считанные секунды должна пройти успешно:


Если необходимо восстановить обратно, то в меню выбираем 3-й пункт и спустя
немного времени будет возвращена прошивка ST-Link:

Вот и всё! Удачного программирования! ;)

Примечание:
Рекомендации по изменению байт в утилите и схема ST-Link взяты отсюда.
Реклама

UPDATE 2017.03.09:

На китайских свистках ST-Link реализованы 2 интерфейса — SWD и SWIM. Обычно


нужен только первый, т.к. STM8 вещь довольно-таки в себе и проще уже
применять STM32 (мало того, что возможностей больше, так и IDE выбор получше,
имхо), поэтому интерфейс SWIM (для STM8) как-то и не нужен. Предлагается
незначительная переделка платы, после которой SWIM_RST выход заменяется на
TRST, что полезно иногда при залоченом STM32 (не нужно жать на кнопку сброса)
или для RTL871x.

Переделка крайне проста и всё показывает одно фото (кликни для увеличения):
Тут отпаиваем R17, одной стороной (ламелькой) подпаиваем к правому паду
(ведущему к гребенке, лучше прозвоните на своей плате при аналогичной
переделке), а второй вывод (ламельку) одножильным проводом в лаке (можно
взять с катушек или трансформаторов, 0,1-0,2мм диаметра) соединяем с выводом
18 (PB0). В гребенке штырь с SWIM_DATA можно выпаять — она уже без
надобности, я дополнительно цапонлаком закрасил шелкографию на нижней
стороне платы, что бы не путала.

Вот и вся переделка. :) Осталось добавить немного термоусадки и карманный J-Link


готов:
Реклама

UPDATE 2017.07.23:

Патч для STLinkReflash.exe (версия 170628) аналогичный и так же состоит из


замены 3х байт. Архив для скачивания — STLinkReflash_170628.zip.

Для прошивки использовать STLinkReflashFixed.exe. Также в архиве сохранён


оригинальный файл.

UPDATE 2018.08.13:

Патч для STLinkReflash_170807, присланный анонимным читателем (я не делал


fixed версию и не проверял):

1. 00002569: 75 | 90
2. 0000256A: 70 | 90
3. 000026B5: 74 | EB

UPDATE 2019.11.19:

Архив для скачивания STLinkReflashFixed.exe (версия 190812) —


STLinkReflash_190812.zip.

Реклама

Поделиться ссылкой:

 
Категории: STM32

Теги: ARM, J-Link, SEGGER, ST-Link, STM

Оставить комментарий

A_D Electronics Наверх

Реклама