ST-LINK/V2 это внутрисхемный отладчик и программатор для микроконтроллеров STM8 и STM32. Однопроводный интерфейс (single wire interface module, SWIM) и JTAG/SWD (SWD это сокращение от serial wire debugging) реализуют коммуникацию с любым микроконтроллером STM8 или STM32, работающим на плате конечной системы.
В дополнение к функционалу ST-LINK/V2, новая версия ST-LINK/V2-ISOL реализует изоляцию цифрового интерфейса между PC и целевой программируемой платой. Изоляция выдерживает напряжения до 1000 VRMS.
Интерфейс USB full-speed осуществляет обмен между компьютером PC разработчика и:
• Устройствами STM8 через ПО ST Visual Develop (STVD) или ST Visual Program (STVP). Это ПО поставляется компанией STMicroelectronics (ST). • Устройствами STM32 в средах разработки Atollic®, IAR™, Keil® и TASKING®.
ST-LINK/V2
ST-LINK/V2-ISOL
Рис. 1. Отладчики ST-LINK/V2 и ST-LINK/V2-ISOL.
Отладчик ST-LINK также встроен в оценочные платы разработчика STM32Fxxx Discovery [2]. Вот так выглядит отладчик ST-LINK/V2-B на плате STM32F429 Discovery (компоненты отладчика выделены желным прямоугольником):
Функциональные возможности ST-LINK:
• Питание 5V подается от хоста PC через коннектор USB.
• Подключение USB 2.0 full speed через кабель USB standard A - Mini-B.
• Функции интерфейса отладки SWIM:
– поддерживаются уровни от 1.65V до 5.5V; – поддерживаются режимы скорости SWIM low-speed и high-speed; – скорость программирования: 9.7 килобайт/сек на low speed и 12.8 килобайт/сек на high speed; – подключение к отлаживаемой плате осуществляется через кабель стандартный вертикальный ERNI (ref: 284697 или 214017) или горизонтальный (ref: 214012), либо через коннектор со стандартным шагом выводов 2.54 мм.
• Функции интерфейса отладки JTAG/SWD:
– поддерживаются уровни 1.65V .. 3.6V на выходах, и входы допускают напряжения до 5V (5V tolerant inputs); – 20-выводный JTAG кабель с шагом выводов 2.54 мм; – поддерживаются коммуникации JTAG, SWD и SWV.
• Светодиоды состояния (Status LED), которые мигают во время обмена с PC.
• Рабочий диапазон температур 0 .. 50°C.
Таблица 1. Информация для закупки.
Order code Описание варианта ST-LINK
ST-LINK/V2 Внутрисхемный отладчик/программатор.
ST-LINK/V2-ISOL Внутрисхемный отладчик/программатор с гальванической развязкой.
[Что входит в комплект отладчика]
Поставляемые компоненты показаны на рис. 2 и рис. 3. Это следующие элементы (перечислены слева направо):
• Стандартный кабель USB A - USB Mini-B (A). • Отладчик ST-LINK/V2 (B). • Коннектор SWIM (C). • Плоский кабель SWIM со стандартным коннектором ERNI (D). • Плоский кабель JTAG или SWD и SWV flat ribbon with a 20-pin connector (E).
Рис. 2. Комплект ST-LINK/V2.
Рис. 3. Комплект ST-LINK/V2-ISOL.
[Конфигурирование]
ST-LINK/V2 разработан на микроконтроллере STM32F103C8 (высокопроизводительное ядро Arm®(a) Cortex®-M3). Он доступен в корпусе TQFP48. Как показано на рис. 4, у ST-LINK/V2 есть два коннектора:
• Коннектор STM32 для интерфейса JTAG/SWD и SWV. • Коннектор STM8 для интерфейса SWIM.
У ST-LINK/V2-ISOL один коннектор для интерфейсов STM8 SWIM, STM32 JTAG/SWD и SWV.
Рис. 4. Коннекторы ST-LINK/V2 (слева) и ST-LINK/V2-ISOL (справа).
A: Коннектор STM32 JTAG и SWD для подключения к целевой плате. B: Коннектор STM8 SWIM для подключения к целевой плате. C: Коннектор STM8 SWIM, STM32 JTAG и SWD для подключения к целевой плате. D: светодиод, показывающий активный обмен.
Для разработки приложений на микроконтроллерах STM8 отладчик ST-LINK/V2 можно подключить к целевой плате двумя разными кабелями, в зависимости от того, какой коннектор установлен на плате устройства. Это следующие кабели:
• Плоский кабель SWIM, на одном из концов которого стоит стандартный коннектор ERNI. • 4-контактный кабель SWIM с шагом 2.54 мм или кабель SWIM с отдельными проводами.
На рис. 5 показано, как подключить ST-LINK/V2, если на целевой плате находится стандартный коннектор ERNI 4-pin SWIM.
Рис. 5. Соединение ERNI.
A: целевая плата системы с коннектором ERNI. B: кабель с коннектором ERNI. C: целевой коннектор STM8 SWIM.
Также см. рис. 11 во врезке "Дополнительная техническая информация".
Рис. 6 показывает, что на целевом коннекторе ST-LINK/V2-ISOL вывод 16 отсутствует. Этот отсутствующий вывод используется как ключ безопасности коннектора, гарантирующий правильную ориентацию коннектора SWIM при подключении. Этот ключ безопасности используется на кабелях SWIM и JTAG.
Рис. 6. Ключ безопасности на коннекторах.
Дешевый вариант SWIM-подключения. Рис. 7 показывает, как подключить ST-LINK/V2, если на плате стоит 4-выводный коннектор с шагом выводов 2.54 мм.
Рис. 7. Недорогое SWIM-подключение.
A: целевая плата системы, на которой установлен коннектор с шагом выводов 2.54 мм. B: 4-проводный кабель, или подключение отдельными проводами. C: целевой коннектор STM8 SWIM.
Также см. рис. 12 во врезке "Дополнительная техническая информация".
Сигналы и соединения SWIM. Таблица 2 дает общее описание SWIM: имена сигналов, функции и сигналы целевой платы при использовании 4-проводного кабеля и 4-выводного коннектора.
Таблица 2. SWIM-соединение с ST-LINK/V2.
Pin
Имя сигнала
Функция
Соединение с целевой платой
1
VDD
VCC целевой платы(1)
VCC микроконтроллера
2
DATA
SWIM
Вывод SWIM микроконтроллера
3
GND
Земля
GND
4
RESET
Сброс
Вывод RESET микроконтроллера
Примечание (1): источник питания целевой платы подключен к плате отладчика ST-LINK/V2 для гарантии совместимости уровней между платой и отладчиком.
Рис. 8. Целевой коннектор SWIM.
Таблица 3 показывает имена сигналов, функции и соединения сигналов с целевой платой при использовании кабеля с отдельными проводами. Поскольку у кабеля SWIM с отдельными проводами есть независимые коннекторы для каждого сигнала, то можно подключить ST-LINK/V2-ISOL к целевой плате, на которой нет стандартного SWIM-коннектора. На таком плоском кабеле все сигналы имеют разные цвета и отдельную метку, что упрощает подключение к целевой системе.
Таблица 3. Соединения ST-LINK/V2-ISOL недорогим кабелем SWIM.
Цвет
Имя сигнала кабеля
Функция
Соединение с целевой платой
Красный
TVCC
VCC целевой платы(1)
VCC микроконтроллера
Зеленый
UART-RX
Не используется
Зарезервировано(2) (не подключается к целевой плате)
Синий
UART-TX
Желтый
BOOT0
Оранжевый
SWIM
SWIM
Вывод SWIM микроконтроллера
Черный
GND
Земля
GND
Белый
SWIM-RST
RESET
Вывод RESET микроконтроллера
Примечания:
(1) Источник питания целевой платы подключен к плате отладчика ST-LINK/V2 для гарантии совместимости уровней между платой и отладчиком. (2) BOOT0, UART-TX и UART-RX зарезервированы для использования в будущих разработках.
TVCC, SWIM, GND и SWIM-RST могут быть подключены дешевым коннектором с шагом 2.54 мм, установленным на целевой плате.
Для разработки программ на основе микроконтроллеров STM32 отладчик ST-LINK/V2 должен быть подключен к целевой системе стандартным 20-выводным плоским кабелем JTAG.
Таблица 4 показывает имена сигналов, функции и соединения сигналов с целевой платой при использовании стандартного 20-выводного кабеля JTAG.
Таблица 4. Соединения кабелем JTAG/SWD.
Pin
Коннектор ST-LINK/V2 (CN3)
Функция ST-LINK/V2
Соединение с целевой платой JTAG
Соединение с целевой платой SWD
1
VAPP
VCC целевой платы
VDD микроконтроллера(1)
VDD микроконтроллера(1)
2
3
TRST
TRST JTAG
JNTRST
GND(2)
4
GND(3)
GND(3)
GND(3)(4)
GND(3)(4)
5
TDI
JTAG TDO
JTDI
GND(2)
6
GND(3)
GND(3)
GND(3)(4)
GND(3)(4)
7
TMS_SWDIO
JTAG TMS, SWDIO
JTMS
SWDIO
8
GND(3)
GND(3)
GND(3)(4)
GND(3)(4)
9
TCK_SWCLK
JTAG TCK, SWCLK
JTCK
SWCLK
10
GND(5)
GND(5)
GND(4)(5)
GND(4)(5)
11
Не подключено
12
GND
GND
GND(4)
GND(4)
13
TDO_SWO
JTAG TDI, SWO
JTDO
TRACESWO(6)
14
GND(5)
GND(5)
GND(4)(5)
GND(4)(5)
15
NRST
NRST
NRST
NRST
16
GND(3)
GND(3)
GND(3)(4)
GND(3)(4)
17
Не подключено
18
GND
GND
GND(4)
GND(4)
19
VDD(3)
VDD (3.3 V)(3)
Не подключено
20
GND
GND
GND(4)
GND(4)
Примечания:
(1) источник питания целевой платы подключен к плате отладчика ST-LINK/V2 для гарантии совместимости уровней между платой и отладчиком. (2) Подключается к GND для снижения шума в кабеле. (3) Доступно только на ST-LINK/V2, не подключено на ST-LINK/V2-ISOL. (4) Для правильной работы как минимум один вывод должен быть подключен к земле (рекомендуется подключить все). (5) GND ST-LINK/V2, используемый SWIM на ST-LINK/V2-ISOL (см. таблицу 3). (6) Опционально: для трассировки Serial Wire Viewer (SWV).
Рис. 9 показывает, как соединить ST-LINK/V2 с целевой системой кабелем JTAG.
Рис. 9. Соединение JTAG и SWD.
A: целевая отлаживаемая плата с коннектором JTAG. B: плоский 20-выводный кабель JTAG/SWD. C: целевой коннектор STM32 JTAG и SWD.
Рис. 10. Нумерация выводов коннектора JTAG (вид на контакты коннектора с верхней стороны платы).
Для некоторых систем стандартный 20-выводный коннектор с шагом выводов 2.54 мм слишком велик, и разработчики часто предпочитают коннектор с уменьшенным количеством выводов (например 10 контактов вместо 20). Для отладчиков ST-LINK/V2 или ST-LINK/V2-ISOL есть адаптер Tag-Connect и кабель, упрощающие подключение отладчика к целевой плате без необходимости установки на плату большого разъема.
Для дополнительной информации об этом решении и цоколевке посетите сайт www.tag-connect.com. Компоненты, совместимые с интерфейсами JTAG и SWD:
a) Адаптер TC2050-ARM2010 (переходник 20 в 10 выводов). b) TC2050-IDC или TC2050-IDC-NL (No Legs, без ножек), 10-выводный кабель. c) TC2050-CLIP с клипсой для использования с TC2050-IDC-NL (опционально).
Индикационный светодиод ST-LINK/V2. Светодиод, помеченный "COM" на верхней стороне ST-LINK/V2, показывает его состояние (независимо от типа соединения):
• Светодиод мигает красным: происходит энумерация USB на хосте PC. • Светодиод красный: установлено соединение между PC и ST-LINK/V2 (энумерация закончилась). • Светодиод мигает зеленым/красным: идет обмен между целевой платой и PC. • Светодиод зеленый: последнее соединение прошло успешно. • Светодиод оранжевый: обмен ST-LINK/V2 с целевой платой был неудачным.
[Обновление прошивки]
В ST-LINK/V2 встроен механизм обновления прошивки отладчика (firmware) через порт USB. Поскольку firmware во время жизни продукта ST-LINK/V2 может развиваться (новый функционал, исправление ошибок, добавление поддержки новых семейств микроконтроллеров, ...), то рекомендуется периодически посещать специальные странички www.st.com, чтобы следить за появлением свежей версии firmware.
[Средства разработки]
Для STM8. См. ST toolset Pack24 с патчем 1 или более свежий, который включает в себя ST Visual Develop (STVD) и ST Visual Programmer (STVP).
Для STM32 и программирования Flash. Инструментарий сторонних производителей: Atollic® TrueSTUDIO®, IAR™ EWARM, Keil® MDK-ARM™ и TASKING® VX-toolset поддерживают ST-LINK/V2 в соответствии с версиями, как это показано в таблице 5.
Таблица 5. Поддержка сторонними разработчиками ST-LINK/V2.
Разработчик
Тулчейн/IDE
Версия
Atollic®
TrueSTUDIO®
2.1
IAR™
EWARM
6.20
Keil®
MDK-ARM™
4.20
TASKING®
VX-toolset for Arm® Cortex®-M
4.0.1
Отладчик ST-LINK/V2 требует для себя специального драйвера USB. Если установленный инструментарий также устанавливает этот драйвер автоматически, то он записывает файл stlink_winusb.inf в каталог inf папки Windows.
Если инсталлятор не устанавливает драйвер, то драйвер можно найти на сайте www.st.com:
1. Откройте в браузере страничку www.st.com. 2. На закладке "Поиск" (search), в поле part number найдите ST-LINK/V2. 3. Кликните на ссылку в столбце Generic Part Number для ST-LINK/V2. 4. На закладке "Design support", в секции "SW drivers" кликните на иконку загрузки, чтобы загрузить архив с драйвером (файл с именем наподобие en.stsw-link009.zip). 5. Распакуйте и запустите инсталлятор dpinst_x86.exe или dpinst_amd64.exe в зависимости от 32-битной или 64-битной версии операционной системы Windows.
Рис. 11. Стандартный кабель SWIM ST-LINK/V2 с коннектором ERNI.
Рис. 12. Дешевый кабель SWIM ST-LINK/V2.
VDD: сигнал для определения напряжения питания целевой платы. DATA: сигнал данных SWIM DATA для обмена между целевой платой и отладчиком. GND: напряжение земли. RESET: сигнал сброса целевой платы.
[Ссылки]
1. UM1075 User manual ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32 site:st.com. 2. STM32F429 Discovery.