Если кому-то лень паять, то можно купить готовый.ST-LINK-GA
Собственно можно сказать: «А на кой он мне нужен, когда есть Discovery». С какой-то стороны да… Но. Первый камень в огород. Собирал схему на Discovery1 для работы с параллельной ОЗУ на 1 Мб. 40 проводков. Отлаживал, отлаживал и бац, нужно залить другой контроллер. Ё-ё-ё мое. Все разбери, после перепрошивки собери. Благо есть еще Discovery4. Но та же проблема. Второй камень. Discovery голая плата. Как-то ваяя очередной шедевр в 60 проводков я где-то на что-то наехал и бум. Коротнул Discover-ку напрочь. Начал разбираться. Короче коротыш попал на входное питание от USB. Слава богу или скорее инженеру ST за то что он поставил диод. Тот принял все на себя и порт не сгорел. Все бы хорошо, да вот надпись 60 на диоде мне ничего не говорила.
Изучил сей манускрипт и понял что тут чего-то не хватат. Полез в ейнтернет и вижу что на всех просторах есть только две схемы. Одна ну ооочень замороченная, другая слишком простая (тока SWD). Не думаю, надо их скрестить. Посидел, покумекал, порисовал и радил вот такое чудо.
Далее оттрассировал платку под имеющийся корпус (G1906) купленный в Чип-НН.
На проводок не обращайте внимания. Это я не запаял перемычку, а узрел после впайки разъема. Так как перемычка оказалась под разъемом и подлезть к ней не удалось, я припаял проводок. Если пропаять перемычку, то провод не нужен. После сборки его нужно прошить. Ха. Вот тут затык.
Далее справа от основного разъема есть еще три пина, это Rx, Tx и GND. К ним нужно подключить COM-порт. Эта к стати еще один плюс, данный программатор лишен проблемы курицы и яйца. Для программирования его МК нужен только COM-порт. Какой вы будете использовать, решать вам. Я использовал физический с переходником на TTL. Питание нужно подать 3,3в на 1 пин основного разъема.
Если программатор положить светодиодами кверху, то на основном разъеме этот пин будет в левом нижнем углу. Лично я не стал замарачиватся и запитал от USB. У меня есть USB-хаб с возможностью подключить внешнее питание, вот через него я и запитал. То есть питание от USB пришло, а пины для данных не активны.
После того как подключили питание, если все спаяно нормально и без ошибок, МК
должен быть готов к прошиванию. Далее запускаем программу
Далее выбираем порт и скорость. Рекомендую 115200, побыстрее будет. Жмем Next. Должно появится вот такое окно. Если светофор будет зеленый, значит все сделано правильно. В противном случае ищите ошибку в схеме.
Жмем Next. Видим как идет общение с МК.
Когда все успокоится снова жмем Next.
В этом окне нужно указать загружаемый файл. Выбираем из архива файл STLinkV2.J16.S4 и жмем Next. После загрузки окно будет выглядеть так.
Теперь снимаем джампер и отключаем COM-порт. Следующим шагом устанавливаем драйвер st-link_v2_usbdriver. На момент написания статьи драйвер самый последний. Если время прошло много, то можно более свежий драйвер скачать на сайте ST. После установки драйвера подключаем программатор к USB. Если все до этого момента было сделано правильно, windows увидит девайс и установит для него драйвер.
Если все установилось удачно, то запускаем программу ST-LinkUpgrade с бабочкой. Появится окно с тетенькой у которой взгляд «Не скажу куда гляжу». Интересно кто такую нашел. Все же это лицо компании. Ну дело не в этом.
Жмем на кнопку Yes >>>> и ждем пока не появится уведомление о удачном обновлении.
Собственно все. Программатор работает. Осталась выпилить отверстия в корпусе и напечатать этикетку. Вот что у меня получилось.
Загрузка:
Архив с файлами для программирования
Архив с файлами проекта для DipTrase
Если кому-то лень паять, то можно купить готовый. ST-LINK-GA
Большое спасибо за труд. Подскажите пожалуйста как трассировку из Топора перенесли в DipTrace? Благодарю.
Я с удовольствием бы помог, но я даже не знаю что за программа Топор. Увы я работал только с PCAD2006 и DipTrace
Понял. Благодарю.Имел ввиду вот это./products/topor/
Я думаю как у всех он может экспортировать в PCAD2006, а его понимают все трассировщики.
здравствуйте подскажите что за кварц у вас стоит?
SMD 5032 8 МГц.
Здравствуйте, а можно у Вас попросить файл наклейки на переднюю панель.
Канул в Лету вместе с хардом.
Подскажите в магазе модель коробки?!
G1906. В магазине где я его покупал, больше его не продают.
Капец, ты дорожки карандашом о руки рисовал чтоль?
Нет, в DipTrace
Добрый день подскажит, что делать прошиваю мк, но комп не видит как программатор.
Говорит unknown.
Мало информации.
Имя:
Самой распространенной модель отладчика-программатора STLINK V2 стал миниатюрный свисток. И хоть многие на него жалуются, но у меня они работали очень даже неплохо и не один не вышел из строя. Но в свете последних событие (роста цен) можно задуматься над покупкой более стационарного и «надежного» решения в виде оригинального обмылка, ведь его стоимость около 10?.
В комплекте будет входить белый USB-кабель, при первой прошивке нужно будет обновить (выскочит окно).
?️ 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
Определяется хорошо, если дрова установлены (должны подхватиться, на всякий случай можно скачать STSW-LINK009. zip):
Во время работы прикольно красиво и достаточно ярко мигает, что хорошо заметно и дает понять, что всё идет хорошо:
Через STM32CubeProgrammer отлично работает:
Существеннейшим достоинством именно такого программатора является наличие выхода для отправки отладочных данных:
Через STM32CubeIDE отлично работает:
Чтобы разобрать нужно отклеить наклейку сзади и открутить два самореза, далее части корпуса легко разъединяются:
Под капотом всё по-простому, почти как у обычного USB-свистка, ремонтопригодность хорошая:
Микроконтроллер всем известный, теперь дефицитный STM32F103C8T6 (если что можно выдрать отсюда ):
На плате остается куча свободного места, не удивительно почему это чудо такое огромное:
Можно попытаться в будущем переделать это чудо на USB-C, но пока пусть так работает.
stlink, st link, v2, debugger, отладчик, программатор, stm32, stm8, swd, jtag, swim, usb, st
Пытаясь изучить встроенную ржавчину, я столкнулся с проблемами при подключении моих плат 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) под внешним питанием, подключите его следующим образом:
На иллюстрациях показана синяя таблетка, потому что она была в библиотеке fritzing. Соединения в основном такие же, как и для черной таблетки.
Чтобы использовать ST-Link для одновременного питания и программирования сине-черной таблетки, подключите ее следующим образом:
Как бы то ни было, при таком программировании заголовки 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?
Вам это не «нужно», но вам «нужен» способ записи вашей программы на флэш-память.
Итак, я начинаю курс по встроенным системам на 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, но, как и синяя таблетка, может просто работать, но неудивительно, если это не так.