Тоже пользуюсь ST-Link’ом с Алика. Были аналогичные симптомы — поначалу работал, в какой-то момент комп перестал его корректно распознавать. STLink Utility его тоже не видела. Вскрыл, оказалось что в нём был впаян толи STM32F100, толи STM32F101 (точно уже не помню, давно было) вместо STM32F103. Этот факт меня насторожил, ведь ни в том, ни в другом нет аппаратного USB. Перепаял на STM32F103, STLink Utility его без проблем распознал и прошил, пользуюсь уже год. Коллега покупал в Питере (вроде бы в Робопартс), аналогичная история.
В твоём экземпляре точно STM32F103? PS Уж не знаю, насколько эта информация актуальна спустя 2 недели))
Реклама
Connfly, один из ведущих азиатских производителей стандартных соединителей, и Компэл в рамках партнерской программы по развитию склада представляют установочные панели для микросхем. Панельки серии DS1001-01 выполнены в корпусе Dual In-Line и предназначены для многократного размещения и подключения DIP-интегральных схем в электронные устройства.
_________________ Мудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет. и МЧС опаздает и таки теперь Дураки и Толерасты умирают по пятницам!
Реклама
Реклама
Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.
Страница 1 из 1
[ Сообщений: 5 ]
Часовой пояс: UTC + 3 часа
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Источник
Доработка китайского ST-Link v2: добавляем интерфейс вывода отладочной информации SWO и ногу Reset
Привет, Geektimes!
Сегодня хочу рассказать про доработку паяльником китайского ST-Link v2. В него можно допаять вывод SWO для получения отладочной информации и ногу управления Reset’ом для микроконтроллеров STM32 (та нога Reset, что уже есть — для STM8). Возможно для многих это не открытие, но пусть будет информация для начинающих. Кому интересно, прошу под кат.
Зачем оно надо?
Используемый для отладки микроконтроллеров STM32 интерфейс SWD поддерживает передачу отладочной информации через вывод SWO в режиме реального времени, это весьма удобно. Ну а нога Reset нужна для того, чтобы можно было комфортней прошивать контроллер в случае, если интерфейс SWD отключен. Причина конечно притянута за уши, ведь для прошивки всегда можно нажать кнопку Reset ручками, но пусть будет. Например, на заре моего знакомства с STM32, мне пришла отладочная плата с Китая с залитой демо программой моргания светодиодом и отключенным SWD, я не сразу понял, как к ней подключиться.
Нам понадобится скальпель, паяльник и несколько сантиметров очень тонкого провода, у меня это МГТФ *какой-то там*. На этих программаторах разъем поделен на две части: левую — для STM8 и правую — для STM32, так что существующий там Reset не подходит для STM32, будем делать свой.
Первым делом отрезаем дорожки, идущие к ненужным штырькам. На первом своем доработанном программаторе я отрезал ножки Reset и SWIM, т.к не планировал работать с STM8, но сейчас я буду использовать лишние выводы 3.3 и 5 В (они задублированы на разъеме), чтобы не портить функционал программатора, вдруг пригодится.
Провода необходимо припаять к 18 (Reset) и 31 (SWO) ногам микроконтроллера. То еще занятие, но при определенной сноровке сделать это можно. У меня провода хорошо вошли в отверстия на плате, что дало дополнительную фиксацию. Вообще, по-хорошему, надо сразу закрепить их клеем на микроконтроллере. Свободные концы припаиваем через небольшие резисторы (пусть будут 22 Ома) к только что отрезанным штырькам.
Можно закрыть корпус и подписать новые выводы, чтобы потом не забыть где какой.
Для использования SWO необходимо:
— активировать SWD; — включить соответствующий вывод (для микроконтроллеров STM32F103C это PB3) на TRACESWO; — убедиться, что в среде программирования включен именно SWO, а не semihosting; — в шапке программы подключить библиотеку #include «stdio.h»; — в коде программы использовать printf(«Hello STM32 world!\r\n»);
Просматривать эти сообщения можно через терминал в программе STM32 ST-LINK Utility, либо прямо во время отладки в своей среде (я использую IAR).
Допустим по какой-то причине на микроконтроллере отключен SWD: либо вы забыли его включить при инициализации, либо пришла новая плата с зашитой демо-программой. Прошиться конечно можно через притягивание ножки Reset к земле (на отладочных платах обычно стоит кнопка), но это не всегда удобно. Можно ведь просто подключить контакт от программатора и шиться в автоматическом режиме.
В той же программе STM32 ST-LINK Utility выбираем «Connect under reset» и подключаемся для прошивки или очистки памяти микроконтроллера.
Либо в вашей IDE выбираем соответствующий пункт:
Это позволит прошиться и войти в отладочный режим, но как только вы дойдете до инициализации периферии, SWD отключится и связь с контроллером пропадет.
Спасибо за внимание, надеюсь кому-то это пригодится.
Источник
Делаем 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.
1) Прозвонкой находим резистор который подключен к BOOT0. Делаем перемычку от стороны этого резистора которая подключена к BOOT0 к 3.3v.
PA9(TX) может быть подключен к светодиоду или резистору рядом с ним, потому прозваниваем.
Я делал это так:
Так же подпаиваем питание.
Прошиваем загрузчик Protected-2-1-Bootloader.bin с помощью STM32 Flash loader demonstrator.
После прошивки отпаиваем перемычку, PA9 и PA10 (PA10 оставляем если хотим вывести SWO).
На платах есть по 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).
Если на нее закинуть файл прошивки — программатор прошьет чип без программ.
Спасибо за внимание! При копировании попрошу оставлять ссылочку на первоисточник.
С вопросами обращайтесь в комментарии, чем смогу — помогу.