Делаем ST-Link V2.1 из китайского ST-Link V2

Привет, Хабр!

В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1.

Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел.

Кому интересно — прошу под кат.

Предисловие


Так уж случилось, что мне надоели лишние провода.

Немного подумав я вспомнил что на платах Nucleo и Discovery — ST-Link совмещает в себе SWD и VCP (Virtual Com Port).

Первое что пришло в голову — купить самую дешевую из подобных плат, попытаться сдампить прошивку в обход защиты и залить в программатор из китая, либо же развести новую плату.
Однако мне подсказали ссылку на GitHub с уже вытянутым загрузчиком, в итоге получилось то что получилось.

Приступаем к работе


Модификацию можно произвести только на версии софта под Windows, кроссплатформенная версия софта отказывается обновлять девайс!

Есть несколько вариантов модификации, и часть из них нельзя сделать если чип не подходящий (не хватит памяти).

Например, модификацию STM32+MSD+VCP можно сделать только если чип STM32F1xxCBxx, однако у нее есть аналог STM32+Audio, который даст STM32+VCP (в принципе что нам и требуется).

Понадобится:

— Паяльник;
— Мультиметр с прозвонкой;
— ПК с ОС Windows (может получится через Wine, не пробовал);
Архив с нужным софтом и бутлоадером (PASS: QWK2tn+fM.EdjX6z).
— Китайский клон ST-Link V2;
— USB-UART адаптер либо второй ST-Link.

Вскрываем...


Платы и чипы во всех разные




Прошивка


Есть два пути — USB-UART (немного сложнее) либо второй ST-Link.

USB-UART


1) Прозвонкой находим резистор который подключен к BOOT0.
Делаем перемычку от стороны этого резистора которая подключена к BOOT0 к 3.3v.

PA9(TX) может быть подключен к светодиоду или резистору рядом с ним, потому прозваниваем.

Подпаиваем UART на PA9(TX) и PA10(RX).

Я делал это так:



Так же подпаиваем питание.

Прошиваем загрузчик Protected-2-1-Bootloader.bin с помощью STM32 Flash loader demonstrator.

После прошивки отпаиваем перемычку, PA9 и PA10 (PA10 оставляем если хотим вывести SWO).

ST-Link

На платах есть по 4 контакта, в некоторых случаях они уже промаркированы, в противном же случае прозваниваем их относительно PA13(SWDIO) и PA14(SWCLK), подпаиваемся вторым ST-Link.



Так же подпаиваем питание.

Устанавливаем STM32 ST-LINK Utility V4.3 из архива, снимаем защиту от записи и прошиваем загрузчик Protected-2-1-Bootloader.bin.

Для снятия защиты в программе STM32 ST-LINK Utility жмем Target > Option Bytes, переключаем Read Out Protection в Disabled и жмем Apply.

Обновление до ST-Link V2.1


После прошивки подключаем прошитый ST-Link (уже почти V2.1) к ПК.

В программе STM32 ST-LINK Utility V4.3 жмем ST-LINK > Firmware update.

Жмем Device Connect — получаем список возможных модификаций:



Выбираем нужную вам модификацию, в моем случае STM32+MSD+VCP, жмем Yes >>>>.

Ждем пока завершится обновление…



Профит!

Завершающая часть


Так как SWIM и RST после такой модификации не работают — отрезаю их.

Так же отрезаю дублирующие 5V и 3.3V.

Получается 4 свободных пина.

На них подпаиваюсь проводками к чипу:

PA10 -> SWO
PB0 -> NRST
PA3 -> RX
PA2 -> TX


Вывожу все на основной разъем, на оставшиеся свободные пины.

Получилась такая распиновка:



Мой девайс после модификации




Накарябал скальпелем маркировку на корпусе:



Не забываем отмыть плату после пайки!

В итоге, в ПК девайс определяется так:





Я без понятия чему равен объем виртуальной флешки (в данном случае к ST-Link V2.1 был подключен F103C8).

Если на нее закинуть файл прошивки — программатор прошьет чип без программ.

Проверяем VCP:



Спасибо за внимание!
При копировании попрошу оставлять ссылочку на первоисточник.

С вопросами обращайтесь в комментарии, чем смогу — помогу.
Поделиться публикацией

Комментарии 95

  • НЛО прилетело и опубликовало эту надпись здесь
      +1
      Бутлоадер был взят сдесь:
      github.com/Krakenw/Stlink-Bootloaders
      Предполагаю что он был слит с нуклео либо любой другой платы)
      Где-то в сети гуляет мануал о том как вытянуть прошивку с stm32…
        +1
        Есть пара статей про реверс инжинеринг STLink:

        Бинарники там не выложены, но все необходимые процедуры описаны неплохо.
          +1
          Именно тот мануал что я имел в виду ))
        0
        У меня пара таких программаторов сгорела, за последние 2 года.
        А программатор с буфером живёт уже много лет.
          0
          Программатору уже около 3-х лет )
          0

          В итоге, оно через джампер программатор, либо uart? Или синхронно и ничего нажимать не нужно?

            0
            В итоге одновременно и swd и uart.
              0
              отлично, спасибо!
                0
                Пользуйтесь )
            0
            Идея — работает. «Издевался» на таком варианте: ST-Link from «Blue Pill»
            Это проще, чем ковыряться в ST-Link…
              +1
              За то корпус аккуратный, и удобнее чем из пилюлю в качестве программатора юзать. (Имхо)
                +1
                За статью — спасибо!
                  +1
                  Пользуйтесь )
                0
                Защиты нет совсем. Подтяжки и т.п. не очень понятно как сделаны (ли).
                Такой вариант на работе проживет недельку, а потом скончается от замыкания выхода с выходом, замыкания на питашку/землю, и прочим «естественным» причинам
                  0
                  STM32 вообще довольно прочный в этом плане, если не шарахнуть его очень хорошим зарядом статики или 5+ вольтами, то такие программаторы живут вполне себе долго и успешно.

                  Тем более, по их цене их можно горсть сразу взять, а также, не задумываясь, выдавать в пользование всем желающим, от разработчиков до заказчиков.
                    +1
                    Я тоже так думал, пока они не начали гореть по 5 в неделю.
                    Пришлось сменить шмот на с коротким рукавом, свести все земли в 1 точке и антистатический браслет туда же. Без браслета — вот опять вчера меняли МК, который то шьется, то не шьется и стабилизатор при нем сильно грелся.
                    Новый шьется без проблем, стаб — холодный.
                0
                Многовато возни чтобы заменить отдельный USB-UART за 30-60 рублей.
                  +1
                  Самое главное — минимизация девайсов. Да и занят всего 1 USB.
                  И как плюс — можно заливать прошивки без софта, работая как с флешкой.
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      Согласен с вами. Например, сделали плату на заказ. Человек её продал в другой город, забыл о ней, а через год вам звонит, нужно баг починить, плату перепрошить.
                      Стандартный USB-UART, USBASP и STLINK можно купить в любом городе в магазине радиотоваров. Вам остается только скинуть по почте файл прошивки, а не ехать с вашим хитрым программатором в другой город.
                        0
                        У нас схожая «нестандартная» распиновка несколько лет как стандарт.

                        SWD, 3.3, земля, сброс и uart_tx чтобы знать что в железке творится. Так, что инициативу поддерживаю, как и резисторы защитные (на фото программаторов их не видно, наверное, в нижнем слое).
                          0
                          Распиновку я нацарапал на корпусе поверх старой, потому не забуду )
                          А сгорать — не сгорает уже третий год.
                          Расскажите, как нужно использовать программатор чтобы он сгорел?
                          • НЛО прилетело и опубликовало эту надпись здесь
                              0
                              У меня на прошлой работе был линолеум и пластиковое кресло с синтетической обивкой. Сила последующих разрядов на разные токопроводящие предметы была такова, что я аж подпрыгивал или сильно дёргался. Периодически получалось так, что разряжался на отлаживаемые устройства — и сильно переживал, что рано или поздно что-нибудь спалю. Жаловался руководству, выпрашивал оборудовать место браслетом (на монтажном участке-то всё как положено, а в отделе разработки фигвам) — бесполезно, ради меня одного чесаться не хотели, а коллег почему-то эта беда не касалась. Индивидуальная особенность организма, видимо.

                              К счастью, за много лет так ничего и не сгорело — ни устройства, ни программаторы, ни порты компа.
                            0
                            А стандартная распиновка — это, пардон, что? Cortex Debug Connector, к которому вечно шнурка на 2×5×1,27 мм не найдёшь под рукой, в котором есть ненужные TDO/TDI и одновременно нет нужного для отладки/настройки банального UART?..

                            Мы себе завели свой собственный 6-контактный разъём с UART TX/RX или SWDIO/SWDCLK + BOOT + RESET + GND + VCC и с той поры в ус не дуем. Копеечную платку адаптера для настройки или перепрошивки через UART-бутлоадер (CP2102, LDO, две кнопки, microUSB) желающим просто дарим.
                        +2
                        Если хотите универсальности и опенсорсности, то вот сильвупле
                        github.com/blacksphere/blackmagic/wiki
                        https://madnessinthedarkness.transsys.com/blog:2017:0122_black_magic_probe_bmp_on_st-link_v2_clones
                        github.com/dword1511/stm32-vserprog
                          0
                          Есть несколько вариантов модификации, и часть из них нельзя сделать если чип не подходящий (не хватит памяти).

                          А как узнать, какой вариант подойдет?
                            0
                            Если модификация не подойдет для вашего МК то программа выдаст ошибку о нехватке памяти, а вообще такая модификация там только одна, у нее есть аналог, и я это упомянул в следующей строчке
                            Например, модификацию STM32+MSD+VCP можно сделать только если чип STM32F1xxCBxx, однако у нее есть аналог STM32+Audio
                              0
                              Хорошо, сейчас попробую перепрошить свой программатор)
                              У меня какой-то китайский клон запаян — STM32GC102CB.))
                                0
                                Вот на счет этой странной маркировки не уверен…
                                В сети о ней разное пишут…
                                Если все же решитесь прошить — обязательно сообщите о результатах.
                                  0
                                  Попробовал сделать — всё получилось!
                                    0
                                    Отлично.
                                    Пользуйтесь )
                                      0
                                      Обнаружилась проблема. VisualGDB не хочет работать с программатором, при этом, ST-LINK Utility работает хорошо. VisualGDB использует OpenOCD. Думаю, проблема где-то в конфигах. Пока не смог обнаружить.
                                        0
                                        Ну st-util 100% работает.
                                        OpenOCD работает, но криво, и судя по отзывам он многих не устраивает )
                                        Ну и если не желаете мучаться с GDB серверами — можно прошить под BMP, он там встроенный.
                                        Только вот не имею ни малейшего понятия можно ли VisualGDB настроить на другой GDB сервер, или BMP.
                                          0
                                          В том то и дело, что мне нравится работать в Visual Studio+VisualGDB. По этому необходима совместимость с OpenOCD. У меня не получилось заставить работать в такой конфигурации.

                                          В Atollic TrueSTUDIO тоже хорошо работает, он использует ST-LINK_gdbserver.

                                          Видимо, придется перешивать.
                                            0
                                            Костыльные проблемы требуют костыльных решений…
                                              0
                                              У меня есть платка от СТ, с настоящим программатором, и она работает. Так что костыль здесь — перепрошивка китайца.
                                                0
                                                Кривой софт тоже костыль )
                                                Во всяком случае вы можете взять платку с оригинальным st-link v2.1 слить с нее бутлоадер и порадовать себя и народ…
                                                  0
                                                  вы можете взять платку с оригинальным st-link v2.1 слить с нее бутлоадер

                                                  а такое возможно?
                                                    0
                                                    Именно таким образом был получен бутлоадер к данной статье. (не мной)
                                                    Но мне больше понравился вариант этого мода с прошивкой BMP.
                                                    Правда SWO в BMP на форточках не знаю как запустить.
                                                      0
                                                      Ради интереса решил попробовать — получилось )
                                                      Однако мне кажется она мало чем отличается от той что на гите, кроме информации о плате в которой программатор стоит…
                              +1

                              Всё ёмко и по делу, но вот что это, для чего, почему нельзя взять сразу 2.1, в чём вообще преимущество девайса — можно было бы и добавить. Так, как инструкция — супер, как статья — не очень.

                                +1
                                В предисловии описано в чем преймущество, а так же в конце статьи.
                                Почему нельзя взять сразу 2.1? Потому что их не существует по отдельности, только на платах нуклео и дискавери, что я так же упомянул в предисловии.
                                Если же вам интересно знать что есть ST-Link — гугл открыт для всех)
                                А не описывал я это потому что описание девайся не является целью данной статьи )
                                0
                                Расскажите пожалуйста подробнее про режим прошивки с виртуальной флешки без программ. Буквально подключил и подал питание — и программатор начал зашивать?
                                Что насчет битов защиты, сможет ли установить?
                                Как определить, что уже прошито и проверено?
                                Не пойдет ли по второму кругу шить, если в нужное время не отключить?
                                  0
                                  Защиту можно установить программно в прошивке.

                                  Подключил программатор к программируемому девайсу и к пк.
                                  Закинул на виртуальную флешку файл прошивки — вылазит окно копирования файла
                                  Когда копирование завершится можно считать что программатор завершил прошивку.

                                  По второму кругу прошивка не пойдет, потому как для этого придется закинуть на него файл прошивки еще раз.
                                    0
                                    Однако работает это только с файлами прошивки формата *.bin
                                      0
                                      Это не работает.
                                      Содержимое диска:
                                      Содержимое папки E:\

                                      27-May-04 16:30 46 DETAILS.TXT
                                      1 файлов 46 байт

                                      Содержимое папки E:\System Volume Information

                                      02-Mar-19 11:11 .
                                      02-Mar-19 11:11 ..
                                      02-Mar-19 11:11 12 WPSettings.dat
                                      02-Mar-19 11:11 76 IndexerVolumeGuid
                                      2 файлов 88 байт

                                      Всего файлов:
                                      3 файлов 134 байт
                                      2 папок 139,264 байт свободно
                                        0
                                        Опишите ваши действия.
                                        Только что проверил — скомпилировал blink в бинарный файл прошивки, закинул на программатор и bluepill начал мерцать.
                                          0
                                          Скомпилировал в bin, записал на диск программатора и ничего.
                                          Очистил МК, записал на диск и ничего.
                                          Но МК STM32F303
                                            0
                                            На диске программатора, после неудачной прошивки таким способом — появляется файл FAIL.TXT.
                                            Что в нем?
                                            Если же его нет то прошивка прошла успешно.
                                            А если файл был до прошивки — значит скорее всего вы не правильно подключили программатор к девайсу.

                                            Так же, если не подключен RESET от программаторы к девайсу — программатор не будет сбрасывать девайс после прошивки, и это придется сделать вручную нажатием кнопки RESET после прошивки.
                                              0
                                              А вот сейчас — сработало…
                                              Имя файла было "_tst.bin" — не работало, переименовал в «tst.bin» — сработало. Фантастика…
                                              Reset не подпаивал, давлю кнопкой.
                                                0
                                                Компилировал проект в .bin формат в Atollic studio и в SystemWorkbench. Причём Atollic какими то своими путями делает файл с расширением .binary, но содержимое при этом нормальное. SystemWorkbench .bin делает обычным путём (arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin") Кидаю этот файл на «флеш диск» отладчика и в логе FAIL.TXT получаю — The application file format is unknown and cannot be parsed and/or processed. Причём если эти файлы просто прошивать через ST-LINK Utility, то они прошиваются и нормально работают.
                                                Что не так?
                                                  0
                                                  *.binary тоже подойдет, это то же расширение что и *.bin.
                                                  «The application file format is unknown and cannot be parsed and/or processed.» значит что файл собран не правильно.
                                                    0

                                                    То что binary и bin одно и то же я сам понял и написал же об этом… И я понимаю сам, что что то не так скомпилировано и спрашиваю совета что делать. Менял кое какие настройки компиляции наугад. Результата ноль. И я не знаю как гуглить эту проблему ни по-русски ни по-английски. Думал по ключевым словам stm32 msd, но совсем не то нахожу.

                                                      0
                                                      Я в атолике включал вот так (все остальные настройки стандартные): image

                                                      Если чем-то поможет: community.st.com/s/question/0D50X00009XkWfzSAF/how-to-generate-a-bin-file-in-atollic
                                                        0

                                                        Давайте с другой стороны зайдем. Дайте мне bin файл мигалки для синей пилюли. Я попробую ваш файл кинуть в отладчик. Stm32f103c8t6, pc13 нога светодиода.

                                                          0
                                                          Добавил в архив.
                                                            0
                                                            Нет. Такая же ошибка. При этом режиме прошивки не нужно трогать джампера BOOT0/1?
                                                              0
                                                              BOOT оба на 0.
                                                                0
                                                                Ну ясно, обычный режим работы. В общем не судьба…
                                                                  0
                                                                  У вас защита от записи не включена у прошиваемого камня?
                                                                  Если включена попробуйте выключить.
                                                                    0
                                                                    Была выключена, проверил. Стёр ещё раз память, перепроверил — тот же результат…
                                                                      +1
                                                                      Reset пробовали подключать? (Мало ли)
                                                                        0
                                                                        Блин… Заработало!
                                                                        Спасибо :-)
                                                                        Я думал, что раз Reset на гребёнку (c торца) пилюли не выведен, то и подключать не обязательно. Ведь обычный способ прошивки нормально работает и без Reset.
                                                                          +1
                                                                          Поздравляю, пользуйтесь )
                                                                            0
                                                                            Сразу проверил что будет в логе при защите памяти: Flash algorithm write command FAILURE. И прошиться не может при этом.
                                                                              0
                                                                              Ну фишка скорее для быстрой прошивки девайса без софта.
                                                                              На пример через телефон (не пробовал, не уверен, но и не отрицаю такую возможность).
                                                                                0
                                                                                Xiaomi Redmi 4X не увидел эту «флешку». Что-то пытается, но в проводнике пусто.
                                                                                  0
                                                                                  Я без понятия где мой OTG переходник сейчас лежит, потому не могу проверить и как либо решить проблему)
                                                                                    0
                                                                                    Да это уже и не проблема. Таким способом я не буду прошивать :-)
                                                                                      0
                                                                                      Спортивный интерес)
                                                                                        0
                                                                                        Я тут вот что подумал, ведь я не доделал st-link… Я его только прошил и не допаивал выводы. Прошивая пилюлю я подключал её вывод R к штатному выводу RST ст-линка (который внутри ст-линка подключен на PB6). Как это вообще заработало?
                                                                                          0
                                                                                          Не знаю.
                                                                                          Rst что выведен с завода относится к swim интерфейсу, не к swd
                                                                                            0
                                                                                            Это я уже сам догадался… Взялся доделывать. Посмотрим далее.
                                                                                              0
                                                                                              Всё допаял. Проверил все функции (SWO, USART). Всё работает.
                                                                                                +1
                                                                                                Отлично, пользуйтесь )
                                            0
                                            Хотя может сам виноват…
                                            Использую 103C8T6 вместо рекомендуемого 103CBT6
                                              0
                                              Кем рекомендуемый?)
                                                0
                                                Практикой рекомендуемой…
                                                Некоторые китайские STM32F103C8T6 имеют «на борту» 128К, Когда поставил «честный» чип STM32F103C8T6 (малазийский), то при попытке сделать апгрейд получил сообщение о нехватки памяти.
                                                На STM32F103CBT6 всё Ок.
                                                  0
                                                  Читайте внимательно статью.
                                                  Например, модификацию STM32+MSD+VCP можно сделать только если чип STM32F1xxCBxx, однако у нее есть аналог STM32+Audio, который даст STM32+VCP (в принципе что нам и требуется).

                                                  Получите тот же v2.1 но без эмуляции флешки.
                                                  0
                                                  Да, если посмотреть схему нуклео, то там как раз и нарисован STM32FCBT6
                                              0
                                              Подскажите пожалуйста, я себе запилил MSD, у него емкость 4кб.
                                              Соответственно почти любую прошивку пихаешь туда — недостаточно места на диске.
                                              микруха C8T6, у нее ОЗУ 20кб.
                                              Зависит ли размер виртуального диска от ОЗУ или от чего то еще?
                                              Или как его увеличить?
                                                0
                                                Если есть файл FAIL.TXT то не правильно подключен программатор к прошиваемому чипу, либо же чип залочен(не факт что это может стать причиной, уже не помню).
                                                Емкость виртуального носителя зависит от емкости прошиваемого чипа, но не напрямую, я не разбирался как именно зависит.
                                                Емкость озу не имеет значения.
                                                Прошивать через виртуальный носитель можно только файлы *.bin и *.binary.
                                                Не знаю смогу ли чем нибудь еще помочь, так как я прошил его в Black Magic Probe (удобная штука получилась, использую вместе с VS Code).
                                                  0
                                                  А если прошить на MSD, то ST-link utility продолжает видеть программатор и работать с ним? Или дальше работа только как с флешкой?
                                                  У меня получилась картина, что программатор появился как флешка, а вот ST-link utility его видеть перестает (после первой прошивки через эту утилиту)
                                                    0
                                                    Да нет, должно работать одинаково и там и там.
                                                    При прошивки через MSD (если закинуть на него файл прошивки) программатор переподключается сразу после того как закончит прошивать подключенный МК.
                                            0
                                            Спасибо за статью! Сам некоторое время назад интересовался этой проблемой, но пошел другими путями. Путь первый — отрезать STLink v2.1 от платы Nucleo (линк). Путь второй — вообще забить на STLink и шить через FT2232 и OpenOCD (линк). Я в итоге остановился на последнем, он достаточно удобен, и легко повторяем.
                                              +1
                                              Впадаю в рассуждения)

                                              FT2232 не так уж и везде продается )
                                              На али сейчас платка с ним стоит от ~10$ (с учетом доставки)
                                              ST-Link V2 же от ~2$ (с учетом доставки)
                                              Разница пятикратная.

                                              Если же затронуть местные магазины (не Россия) — FT2232 либо нет вообще (даже чисто чипа) либо стоимость от 30$ за платку.
                                              А в Российском «ЧИП и ДИП» так вообще от 96$ за платку.
                                              ST-Link V2 — есть почти в каждом местном радиомагазине (не Россия), стоимость от 5$.
                                              А в Российском «ЧИП и ДИП» от 11$.

                                              Конечно может и не стоит возиться ради такой небольшой разницы как 8$.
                                              Но на них можно купить три десятка хороших dc-dc модулей по 3A каждый.
                                              Тем более если это не проблема для того кто будет модить)
                                              Ну а если учитывать разницу цен в местных (а тем более «ЧИП и ДИП») — то точно уж жаба задушит переплачивать )
                                              Либо же не переделывать а и правда взять Nucleo на али, и за те же деньги что и FT2232 у местных получить ST-Link V2.1 + МК с обвязкой, пускай и не самой удобной.

                                              Единственный + это многофункциональность чипа…
                                              Но меня и CH341 вполне устраивает при его стоимости в местных магазинах ~2$.
                                              А искать чип отдельно и делать плату —
                                              1) очередной гемор на разводке и травлении
                                              2) (хоть это и мало вероятно) если попадется брак или пустышка — не докажешь что это не ты убил чип не правильной разводкой, или перегревом при пайке.
                                              0
                                              А что если после прошивки программатор определяется, но попытка Upgrade заказнчивается ошибкой: Unknown firmware type. Don;t know how to upgrade.
                                              ???
                                              Ой…
                                                0
                                                Используйте программу из архива.
                                                0
                                                Слабо мне на такие ножки подпаиваться. Взял отдельный Blue pill, сделал как по ссылке , только не понял, на схеме у него нет резистора на 100 ом, который есть на плате.
                                                Но суть не в этом. Определился нормально, но когда попытался обновить до 2.1, получил ошибку «firmware too big for this board». Так и не вышел каменный цветок…
                                                  0
                                                  Сорри, ошибка «The up-to-date firmware is too big for this board». В итоге получилось, но в варианте STM32+Audio ))
                                                    0
                                                    Читайте внимательней оригинальную статью (данную статью).
                                                    модификацию STM32+MSD+VCP можно сделать только если чип STM32F1xxCBxx, однако у нее есть аналог STM32+Audio, который даст STM32+VCP (в принципе что нам и требуется).
                                                  0
                                                  Наконец-то дошли руки.
                                                  Делал на маке, а в нем Virtual Box с XP. К сожалению, раз 5 шил бутлоадер, прежде, чем дошло, что ST-Link стал новым и надо «сказать» виртуалбоксу пробросить USB в гостевую ось.
                                                  Прям, великолепно все!
                                                    0
                                                    Спасибо за статью!
                                                    Успешно переделал китайский st-link на базе некоего CKS32F103C8.

                                                    Все замененные контакты находились на верхней стороне платы (5В, 3.3В, SWIO и RST) так что не пришлось мучиться с прокладкой проводов на ту сторону.
                                                    Встроенный VCP — кайф!

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое