8-900-374-94-44
[email protected]
Slide Image
Меню

Схема st link v2: Делаем ST-Link V2.1 из китайского ST-Link V2 / Хабр

Самодельный ST-LINK/V2


				

	
	
	
Дата: 2 Декабря 2014. Автор: Алексей


	
	

Если кому-то лень паять, то можно купить готовый.ST-LINK-GA

Собственно можно сказать: «А на кой он мне нужен, когда есть Discovery». С какой-то стороны да… Но. Первый камень в огород. Собирал схему на Discovery1 для работы с параллельной ОЗУ на 1 Мб. 40 проводков. Отлаживал, отлаживал и бац, нужно залить другой контроллер. Ё-ё-ё мое. Все разбери, после перепрошивки собери. Благо есть еще Discovery4. Но та же проблема. Второй камень. Discovery голая плата. Как-то ваяя очередной шедевр в 60 проводков я где-то на что-то наехал и бум. Коротнул Discover-ку напрочь. Начал разбираться. Короче коротыш попал на входное питание от USB. Слава богу или скорее инженеру ST за то что он поставил диод. Тот принял все на себя и порт не сгорел. Все бы хорошо, да вот надпись 60 на диоде мне ничего не говорила.

Полез на сайт ST, нашел телефон поддержки, звоню. Але говорю, нужон наминал диёда. А мне в ответ, не волнуйтесь, давайте ка вашу почту. Даю адрес и бац мне скидывают документацию на Discovery. Схемы, платы, описание. Ну просто сказка. Я тут же нашел диод, впаял и о чудо, все заработало. После этого случая дабы не повторить содеянное я решил прикупить программатор от ST. Я думаю все его видели, такое белое яйцо с эмблемкой. Но так и не купил. Цена, какая цена. За такую цену можно купить 3 Discovery и иметь сразу три программатора. Немного подумав я вспомнил про схему которую мне скинули. Там же есть та самая… Открыл файл, заценил. Хмы, а в первой платке-то ST-LINK и усе, а интересно что в Discovery4. Взял плату и вижу надпись на ней. www.st.com/stm32f4-discovery. Так… Зашел по ссылке, куча файлов и о чудо, архив с документацией и схемой. С надеждой решил зайти на страничку родного программатора. Ага. Ща… Так вам и дали схему.
В общем решил довольствоваться схемой от Discovery4.
Вот она.






Изучил сей манускрипт и понял что тут чего-то не хватат. Полез в ейнтернет и вижу что на всех просторах есть только две схемы. Одна ну ооочень замороченная, другая слишком простая (тока SWD). Не думаю, надо их скрестить. Посидел, покумекал, порисовал и радил вот такое чудо.






Далее оттрассировал платку под имеющийся корпус (G1906) купленный в Чип-НН.






На проводок не обращайте внимания. Это я не запаял перемычку, а узрел после впайки разъема. Так как перемычка оказалась под разъемом и подлезть к ней не удалось, я припаял проводок. Если пропаять перемычку, то провод не нужен. После сборки его нужно прошить. Ха. Вот тут затык.

Где взять прошивку для МК. Полазив в интернете я нарыл какую-то кривую прошивку, которая не работает, но имеет одну важную вещь. С этой прошивкой программатор цепляется к родному ST-шному драйверу и отдается на обновление прошивкой от ST. То есть после прошивки обнавляемся и все. И так к делу. Если вы еще не собрали плату, то дальше читать нет смысла. Для тех кто спаял, смотрим на свое изваяние. Если посмотреть на светодиоды, то рядом с красным можно увидеть два пина. Перед подачей питания на него нужно надеть джампер.






Далее справа от основного разъема есть еще три пина, это Rx, Tx и GND. К ним нужно подключить COM-порт. Эта к стати еще один плюс, данный программатор лишен проблемы курицы и яйца. Для программирования его МК нужен только COM-порт. Какой вы будете использовать, решать вам. Я использовал физический с переходником на TTL. Питание нужно подать 3,3в на 1 пин основного разъема.

Если программатор положить светодиодами кверху, то на основном разъеме этот пин будет в левом нижнем углу. Лично я не стал замарачиватся и запитал от USB. У меня есть USB-хаб с возможностью подключить внешнее питание, вот через него я и запитал. То есть питание от USB пришло, а пины для данных не активны.






После того как подключили питание, если все спаяно нормально и без ошибок, МК должен быть готов к прошиванию. Далее запускаем программу

Flash Loader Demonstrator Да кстати вот архив со всем что нужно. Распаковать в корень диска.






Далее выбираем порт и скорость. Рекомендую 115200, побыстрее будет. Жмем Next. Должно появится вот такое окно. Если светофор будет зеленый, значит все сделано правильно. В противном случае ищите ошибку в схеме.






Жмем Next. Видим как идет общение с МК.






Когда все успокоится снова жмем Next.






В этом окне нужно указать загружаемый файл. Выбираем из архива файл STLinkV2.J16.S4 и жмем Next. После загрузки окно будет выглядеть так.






Теперь снимаем джампер и отключаем COM-порт. Следующим шагом устанавливаем драйвер st-link_v2_usbdriver. На момент написания статьи драйвер самый последний. Если время прошло много, то можно более свежий драйвер скачать на сайте ST. После установки драйвера подключаем программатор к USB. Если все до этого момента было сделано правильно, windows увидит девайс и установит для него драйвер.






Если все установилось удачно, то запускаем программу ST-LinkUpgrade с бабочкой. Появится окно с тетенькой у которой взгляд «Не скажу куда гляжу». Интересно кто такую нашел. Все же это лицо компании. Ну дело не в этом.






Жмем Device Connect. Если программа увидит программатор, а это должно произойти, то активируется кнопка.






Жмем на кнопку Yes >>>> и ждем пока не появится уведомление о удачном обновлении.






Собственно все. Программатор работает. Осталась выпилить отверстия в корпусе и напечатать этикетку. Вот что у меня получилось.






Загрузка:
Архив с файлами для программирования
Архив с файлами проекта для DipTrase

Если кому-то лень паять, то можно купить готовый. ST-LINK-GA

Георгий    25.
03.16 10:16

Большое спасибо за труд. Подскажите пожалуйста как трассировку из Топора перенесли в DipTrace? Благодарю.


Алексей    25.03.16 15:10

Я с удовольствием бы помог, но я даже не знаю что за программа Топор. Увы я работал только с PCAD2006 и DipTrace


АНОНИМ    28.03.16 09:54

Понял. Благодарю.Имел ввиду вот это./products/topor/


Алексей    28.03.16 09:59

Я думаю как у всех он может экспортировать в PCAD2006, а его понимают все трассировщики.


слава    31.03.16 09:17

здравствуйте подскажите что за кварц у вас стоит?


Алексей    31.03.16 10:03

SMD 5032 8 МГц.


Александр    08.06.16 12:28

Здравствуйте, а можно у Вас попросить файл наклейки на переднюю панель.


Алексец    08.06.16 13:38

Канул в Лету вместе с хардом.


aleks    15.12.16 03:04

Подскажите в магазе модель коробки?!


Алексей    15.12.16 07:40

G1906. В магазине где я его покупал, больше его не продают.


Жужу    01.06.17 21:17

Капец, ты дорожки карандашом о руки рисовал чтоль?


Алексей    01.06.17 22:37

Нет, в DipTrace


Artem    27.12.17 12:02

Добрый день подскажит, что делать прошиваю мк, но комп не видит как программатор.
Говорит unknown.


Алексей    27.12.17 20:38

Мало информации.



Чтобы вставить ссылку используйте форму вида[url]http://www.адрес.ru[/url][text]текст ссылки[/text]
Чтобы вставить код используйте форму вида[code]код[/code]

Имя:   

  






Китайский STLINK V2 ☄️ с SWO подключение (распиновка) и разборка — Схемка: Электронные Радиосхемы

Предисловие

Самой распространенной модель отладчика-программатора STLINK V2 стал миниатюрный свисток. И хоть многие на него жалуются, но у меня они работали очень даже неплохо и не один не вышел из строя. Но в свете последних событие (роста цен) можно задуматься над покупкой более стационарного и «надежного» решения в виде оригинального обмылка, ведь его стоимость около 10?. 

В комплекте будет входить белый USB-кабель, при первой прошивке нужно будет обновить (выскочит окно).

Купить на

Aliexpress

?️ ST-LINK/V2 ST-LINK V2(CN) (10.8?): https://ali.ski/1AVNB
?️ Debugger ST-LINK V2 (11.41?): https://ali.ski/aAHtrn
?️ ST-LINK/V2 miniUSB (16.04?): https://ali.ski/8kkGhG

Назначение выводов

В комплекте идут несколько проводов с разъемами, один из них для JTAG

, резать его не обязательно, достаточно сделать переходник из обычных штырей.

Прошивка через 

SWD (Serial Wire Debug)

Определяется хорошо, если дрова установлены (должны подхватиться, на всякий случай можно скачать STSW-LINK009. zip):

Во время работы прикольно красиво и достаточно ярко мигает, что хорошо заметно и дает понять, что всё идет хорошо:

Через STM32CubeProgrammer отлично работает:

Использование

SWO (Serial Wire Output)

Существеннейшим достоинством именно такого программатора является наличие выхода для отправки отладочных данных:

Через STM32CubeIDE отлично работает:

Разборка в высоком разрешении

Чтобы разобрать нужно отклеить наклейку сзади и открутить два самореза, далее части корпуса легко разъединяются:

Под капотом всё по-простому, почти как у обычного USB-свистка, ремонтопригодность хорошая:

Микроконтроллер всем известный, теперь дефицитный STM32F103C8T6 (если что можно выдрать отсюда ):

На плате остается куча свободного места, не удивительно почему это чудо такое огромное:

Можно попытаться в будущем переделать это чудо на USB-C, но пока пусть так работает.

stlink, st link, v2, debugger, отладчик, программатор, stm32, stm8, swd, jtag, swim, usb, st

  • Схемка: Электронные Радиосхемы © 2023
  • Работает на InstantCMS

Barnaby Walters • Программирование платы Blue/Black Pill STM32 с помощью ST-Link v2

Пытаясь изучить встроенную ржавчину, я столкнулся с проблемами при подключении моих плат STM32F103 Black Pill к ST-Link v2. Решение простое, но плохо задокументировано, так что вот оно с хорошими иллюстрациями.

ST-Link v2 можно использовать для подключения к отладочным платам как при внешнем питании, так и при питании от ST-Link. Однако, даже когда ST-Link используется для подачи питания и успешно питает цель от своего контакта VDD (контакт 19), всегда необходимо подключать VAPP ST-Link (контакты 1 или 2) к целевой шине 3,3 В , так как ST-Link определяет целевое напряжение программирования с этого контакта. Невыполнение этого требования приведет к случайным ошибкам, некоторые из которых описаны ниже.

Распиновка ST-Link v2 (от stm32-base.org):

Возможные соединения

Чтобы использовать ST-Link для программирования сине-черной таблетки (BP) под внешним питанием, подключите его следующим образом:

  • БП под внешним питанием (например, USB)
  • ST-Link GND (четные контакты с 4 по 20) на BP Ground
  • ST-Link SWDIO (контакт 7) к BP DIO
  • ST-Link SWCLK (контакт 9) на BP CLK
  • ST-Link VAPP (контакты 1 или 2) к BP 3V3

На иллюстрациях показана синяя таблетка, потому что она была в библиотеке fritzing. Соединения в основном такие же, как и для черной таблетки.

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

  • GND ST-Link (четные контакты с 4 по 20) на BP Ground
  • ST-Link SWDIO (контакт 7) к BP DIO
  • ST-Link SWCLK (контакт 9) на BP CLK
  • ST-Link VDD (контакт 19) к BP 3V3
  • ST-Link VAPP (контакты 1 или 2) к BP 3V3

Как бы то ни было, при таком программировании заголовки BOOT0 и BOOT1, кажется, ничего не делают. Я могу успешно прошить двоичные файлы на плату с заголовками в любом положении или полностью отключенными.

Симптомы

Если вы оставите контакт VAPP отключенным, вы, вероятно, увидите различные непоследовательные ошибки. Вот некоторые из тех, с которыми я обращался:

 $ openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg
Открытый встроенный отладчик 0.10.0
Под лицензией GNU GPL v2
Для отчетов об ошибках прочитайте http://openocd.org/doc/doxygen/bugs.html.
Информация: автоматический выбор первого доступного сеансового транспорта "hla_swd". Чтобы переопределить, используйте «транспорт выберите <транспорт>».
Информация: Выбранный транспорт взял на себя низкоуровневый контроль цели. Результаты могут отличаться от обычных JTAG/SWD.
скорость адаптера: 1000 кГц
адаптер_nsrst_delay: 100
ни один отдельный
Информация : Невозможно согласовать запрошенную скорость 1000 кГц, используя 950 кГц
Информация : Невозможно согласовать запрошенную скорость 1000 кГц, используя 950 кГц
Информация: тактовая частота 950 кГц
Информация: STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748
информация: использование stlink api v2
Информация: Целевое напряжение: 1,529843
Информация: stm32f1x. cpu: оборудование имеет 6 точек останова, 0 точек наблюдения
 

Здесь openocd выглядит так, как будто он может подключиться, но жалуется на то, что целевое напряжение составляет 1,5 В, а не 3,3 В, как мы ожидаем. Это явный признак того, что что-то не работает!

Если шумовое напряжение, измеренное на неподключенном VPP, окажется достаточно низким, openocd выдаст сообщение:

 Информация: Целевое напряжение: 0,000000
Ошибка: целевое напряжение может быть слишком низким для надежной отладки
Ошибка: сбой режима инициализации (невозможно подключиться к цели)
в процедуре 'init'
в процедуре 'ocd_bouncer'
 

Если вы попытаетесь использовать cargo flash для прошивки бинарного файла на BP, вы, скорее всего, будете циклически повторять разноцветный набор различных ошибок, каждая из которых недокументирована так же, как и последняя:

 $ грузовая вспышка --релиз --чип stm32f103c8

Завершенный выпуск [оптимизированных] целей за 0,04 с. 
Перепрошивка /Пользователи/barnabywalters/Документы/Программирование/rust/blackpill-blink/target/thumbv7m-none-eabi/release/blackpill-blink
    ПРЕДУПРЕЖДЕНИЕ probe_rs::probe::stlink > send_jtag_command 242 не удалось: SwdDpFault
   Ошибка не удалось подключиться к цели

Вызванный:
0: Произошла ошибка при использовании зонда
1: Произошла ошибка, связанная с типом зонда.
2: Команда не выполнена со статусом SwdDpFault.
 

Все они выглядят примерно так, но команда может завершиться ошибкой с такими состояниями, как SwdDpFault и JtagGetIdcodeError . Если вы попытаетесь использовать probe-rs-cli , вы можете иногда получить SwdApError , SwdDpParityError или что-то похожее на частичный успех с Available Access Ports: , за которым ничего не следует.

Попытка использовать stmduino , st-flash , pyocd или другое программное обеспечение, вероятно, вызовет аналогичные ошибки.

Предыстория

Пытаясь следовать этому руководству по программированию rust STM32 (обратная машина, так как исходный сайт имеет проблемы с TLS на момент написания статьи), я столкнулся со странными, непоследовательными ошибками подключения.

Я попытался изучить сообщения об ошибках, которые я получал, но не нашел ничего, кроме предположения, что STM32, вероятно, был китайской подделкой, и это вызывало проблемы. Сначала я отказался, но потом решил еще раз разобраться в этом вопросе. Заметив, что openocd сообщает о низком целевом напряжении, я в конце концов понял, что VAPP не обеспечивает питание, а скорее обнаруживает его. 9Микроконтроллер 0003

— зачем плате Stm32f103c8t6 нужен ST-Link V2?

зачем плате Stm32f103c8t6 нужен ST-Link V2?

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

Итак, я начинаю курс по встроенным системам на udemy, и, похоже, мне нужен MCU M3 или M4 ARM cortex, чтобы я мог следить за проектами. Сам курс рекомендует плату Discovery, но я нацелился на stm32f103c8t6 Datasheet

До сих пор я смотрел большую часть (первого) класса. Это почти все о языке C в целом, но он проведет вас через документ по чипу, чтобы показать вам регистры и биты, а также то, как написать код для доступа к ним.

Деталь на stm32f4 и на синей таблетке stm32 не совпадают и несовместимы. Cortex-m3/4 не имеет отношения к адресации и использованию периферийных устройств. Таким образом, все концепции и инструменты будут работать одинаково, а точные адреса и биты — нет.

Кажется, что информации о плате в плане программирования в IDE stm32 не так много, так как все используют ее с Arduino IDE.

Я бы не согласился с этим по нескольким причинам, я бы сказал, что в процентах никто не использует Arduino IDE. Истина где-то между всеми и никем. Стоимость синей таблетки позволяет людям легко использовать все различные решения, никоим образом не ограничиваясь Arduino. Большинство людей не используют Arduino.

st и arm содержат много информации, а также бесчисленное количество примеров в Интернете о том, как программировать эти микроконтроллеры. И в результате эти платы stm32f4discovery, а также бесчисленное множество примеров, специально предназначенных для этих синих досок для таблеток.

Класс использует ST IDE, а stm32f103 все еще доступен, поэтому я не вижу, чтобы один из их инструментов поддерживал эту часть. Синяя таблетка — это просто доска с кристаллом, так что они могут или не могут поддержка платы (знание где светодиод??) должна быть поддержка части.

Мне было интересно, понадобится ли мне дополнительное оборудование рядом с ним, например, st link v2 (я еще не знаю, для чего это нужно, но это то, что я получил после некоторых поисков). чтобы иметь возможность красиво программировать и отлаживать курс

Дискавери (аутентичный) stm32f4 имеет на плате stlink, так что отдельно покупать его не нужно.

На синей таблетке нет отладчика, его нужно покупать отдельно. Stlink любого вкуса — это всего лишь одно из возможных решений, это не единственное решение, поэтому оно не является «требуемым».

Когда вы читаете документацию о микросхеме stm32 и ядрах ARM (перейдите на веб-сайт ARM), вы обнаружите, что для ядра ARM есть интерфейс swd (отладка с одним проводом), который будут предоставлять части stm32. Stlink — это, по сути, USB-протокол, который вы используете для связи с отладчиком (в данном случае с внешним оборудованием между вашим компьютером разработки и целевым микроконтроллером). Решение stlink — это, по сути, путь к протоколу swd, так что с помощью программного обеспечения, говорящего на протоколе stlink, вы можете общаться с ядром руки. Имея доступ к ядру руки, вы можете, среди прочего, записать свою программу на флэш-память, чтобы ее можно было запустить при сбросе или включении питания.

Существуют и другие пути, USB-протоколы, если хотите, к оборудованию (платам), которые затем говорят за вас swd. Прежде всего, но не ограничиваясь ими, платы на основе jlink и ftdi, в частности платы с MPSSE.

В состав stm32f103 также входит загрузчик (софт) от st, а не арм. Это обеспечивает доступ через этот интерфейс для записи вашей программы во флэш-память. (также задокументировано на веб-сайте st) И здесь слишком много решений, чтобы даже упоминать их, стоимостью от одного доллара до, может быть, 15.

Синяя таблетка может поставляться с предварительно запрограммированным приложением, работающим в качестве загрузчика, использующего известный USB-протокол, который также поддерживает Arduino IDE. Но это та же область флэш-памяти приложения, где будут жить ваши программы, поэтому, если вы испортите это, вы больше не сможете использовать этот интерфейс, вам придется использовать один из вышеперечисленных, с внешним оборудованием, чтобы перепрограммировать этот загрузчик во флэш-память приложения, чтобы вы можете вернуться назад и попробовать еще раз, используя Arduino IDE. Обнаружение stm32f4 не имеет этой проблемы, есть отдельный отладчик и целевой микроконтроллер, аппаратный отладчик может перепрограммировать целевой микроконтроллер независимо от ошибок в вашем коде (тех, которые не разрушают оборудование).

Итак, вернемся к заглавному вопросу:

зачем плате Stm32f103c8t6 нужен ST-Link V2?

Вам это не «нужно», но вам «нужен» способ записи вашей программы на флэш-память со стороны, и для этого может потребоваться SWD-решение, одним из которых является stlink (но не единственным).

Версия stlink значения не имеет.

SWD — не единственный путь, и stlink — не единственное решение swd. Существуют более дешевые решения для программирования синей таблетки (которые могут быть или не быть совместимыми непосредственно с arduino ide).

Класс или этот первый, по крайней мере, в основном написан на языке C, не используя доску, а используя ваш компьютер. Когда он использует карту, он полагается на интерфейс stlink. Где лектор нажимает кнопку в графическом интерфейсе, а через секунду или несколько секунд доска программируется, и светодиод мигает или что-то еще. Эти несколько секунд могут занять у вас несколько недель, чтобы начать работать на вас, в зависимости от способности находить нужную информацию и экспериментировать, например, у меня это может занять полдня. Но я надеюсь, но не обязательно ожидаю, что IDE будет «просто работать». Вам может повезти.

Этот класс быстро перешел к добавлению еще одной аппаратной части, которую, возможно, вы захотите купить, чтобы добавить к stm32f4discovery. Одна вещь, с которой я часто борюсь, — это придерживаться чьей-то песочницы, в конце концов я создаю свою собственную. Хотя плата стоит дорого по сравнению с вполне подходящими альтернативами для той же цели, для класса я бы рекомендовал вам покупать аппаратное обеспечение, используемое классом. В то же время, IMO, вы можете посмотреть этот класс без каких-либо плат MCU, а затем принять собственное решение. Вы можете воспользоваться этими знаниями и попробовать использовать Arduino IDE, если хотите, и синюю таблетку, или поискать людей, использующих ST IDE и синюю таблетку.

ИМО, синие таблеточки низкого качества. Я заказал много, и некоторые из них пришли нефункциональными. Точно так же существует клон обнаружения stm32f4, который является недорогим, он поддерживает dfu-util, но, как и синяя таблетка, может просто работать, но неудивительно, если это не так.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *