Ранее мы уже знакомились с инструментами аппаратной отладки / программатором, теперь давайте вместе изучим программатор ST-Link. В этой статье вы узнаете о различных версиях ST-Link, их различиях и о том, как использовать их для программирования микросхем.
Версия ST-Link
В настоящее время существует три версии ST-Link: ST-LINK/V1, ST-LINK/V2 и STLINK-V3. В то же время, плата разработчика ST также поставляется с собственным инструментом ST-Link, но его версия ST-Link варьируется в зависимости от платы разработчика.
ST-LINK V1
ST-LINK V1 — самая ранняя версия, и в настоящее время ее используют немногие на рынке.

ST-LINK V2
Версия ST-LINK V2 может быть разделена на две: ST-LINK/V2 (стандартная версия) и ST-LINK/V2-ISOL (изолированная версия). Среди них ISOL (изоляция) поставляется с изоляцией 1000 В. Эта версия относительно дорогая.


ST-LINK V3
STLINK-V3 также имеет несколько категорий:
STLINK-V3SET
STLINK-V3SET — это набор полнофункциональных инструментов для загрузки и программирования, независимых от оценочной платы ST, а также основной инструмент STLINK-V3. Он поступит в продажу по цене 35 долларов.

STLINK-3MINI
В 2019 году ST выпустила более компактный и миниатюрный STLINK-3MINI размером всего 15 x 30 мм, цена которого при поступлении в продажу составляла всего 9,75 доллара.

STLINK-V3MODS
Функции STLINK-V3MODS и STLINK-V3MINI в основном одинаковы, но сценарии применения различаются. Можно сравнить его с «штампованной версией» STLINK-V3MINI.

B-STLINK-VOLT
Плата B-STLINK-VOLT — это дополнительный модуль/адаптер для STLINK-V3SET. Она больше подходит для низковольтных (например, 1,8 В) систем STM32.

B-STLINK-ISOL
B-STLINK-ISOL аналогичен B-STLINK-VOLT и также является «платой расширения» для STLINK-V3SET. Он обеспечивает гальваническую развязку и функции преобразования напряжения и используется с микроконтроллерами с напряжением ниже 3,3 В.

STLINK-V3PWR
STLINK-V3PWR, выпущенный в марте 2023 года, представляет собой аппаратное обеспечение ST-Link, используемое для мониторинга и отладки тока низкого энергопотребления STM32. Цена на момент выпуска составляет 93,10 долларов США.

Различные интерфейсы ST-LINK
Интерфейс SWIM
Интерфейс SWIM используется для отладки и загрузки STM8. Он имеет только четыре провода и определяется следующим образом:
| ST-LINK Port | STM8 Target Board | Function |
|---|---|---|
| VDD | MCU VCC | Connects to STM8's power supply VCC |
| DATA | MCU SWIM PIN | Connects to STM8's SWIM pin |
| GND | GND | Connects to STM8's GND |
| RESET | MCU RESET PIN | Connects to STM8's reset pin |
Интерфейс JTAG/SWD
Интерфейс ST-Link/V2 JTAG/SWD определяется следующим образом:
| Pin | ST-LINK Port | Target STM32 (JTAG) | Target STM32 (SWD) |
|---|---|---|---|
| 1 | TVCC | MCU VDD | MCU VDD |
| 2 | TVCC | MCU VDD | MCU VDD |
| 3 | TRST | JNTRST | GND |
| 4 | GND | GND | GND |
| 5 | TDI | JTDI | GND |
| 6 | GND | GND | GND |
| 7 | TMS_SWDIO | JTMS | SWDIO |
| 8 | GND | GND | GND |
| 9 | TCK_SWCLK | JTCK | SWCLK |
| 10 | GND | GND | GND |
| 11 | NC | NC | NC |
| 12 | GND | GND | GND |
| 13 | TDO_SWO | JTDO | TRACESWO (for SWV) |
| 14 | GND | GND | GND |
| 15 | NRST | NRST | NRST |
| 16 | GND | GND | GND |
| 17 | NC | NC | NC |
| 18 | GND | GND | GND |
| 19 | VDD | NC | NC |
| 20 | GND | GND | GND |
Инструмент программирования ST-LINK
Общей особенностью ST-LINK является то, что он используется для программирования (загрузки программ). Инструменты программирования включают: STVP, STM32 ST-LINK Utility и STM32CubeProgrammer.
- STVP: инструмент, который можно использовать как для программирования STM8, так и для программирования 32.
- ST-LINK Utility: инструмент, ограниченный программированием STM32.
- STM32CubeProg: инструмент, который можно использовать как для программирования STM8, так и для программирования 32.
Пример программирования ST-LINK с помощью Keil 5
Здесь мы расскажем, как использовать st-link v2 в Keil 5 для загрузки и отладки программ для платы разработчика arm. Включая метод подключения stlink, настройку stlink в keil, отладку в keil и т. д.
Keil 5 Конфигурация
Щелкните волшебную палочку на панели инструментов Keil, чтобы открыть диалоговое окно настройки, как показано ниже:


Установите флажок «Сбросить и запустить», программа автоматически сбросится и запустится после загрузки в микроконтроллер.

Отладка
Вход в режим отладки
Нажмите кнопку, чтобы войти в режим отладки или выйти из него:

Общие операции отладки
Сброс
Сбросьте программу в исходное положение.

Одношаговая отладка
Это означает, что при каждом нажатии кнопки программа выполняет один шаг. При встрече с вызывающей функцией она переходит к вызываемой функции. Нажмите кнопку с иконкой или нажмите клавишу быстрого доступа F11.

Пошаговая отладка
Это означает построчную отладку, то есть каждый раз при нажатии кнопки программа выполняет одну строку. При встрече функции она не будет входить в функцию. Нажмите кнопку с значком или нажмите клавишу быстрого доступа F10.

Выход из отладки
означает выход из отладки функции, то есть каждый раз при нажатии кнопки программа выходит из функции, пока не будет выйдена самая внешняя функция (главная функция). Нажмите кнопку с значком или нажмите комбинацию клавиш Ctrl + F11.

Запустите программу в определенном месте
Если нажать кнопку (или Ctrl + F11), программа остановится при достижении положения курсора (при условии, что программа может быть выполнена до положения курсора).

Переход к позиции паузы программы Keil
Эта функция эффективна, когда программа перестает работать, и может помочь нам найти место остановки программы.

Окно отладки
Меню окна отладки активируется только во время процесса отладки и отличается от окна в обычном режиме редактирования.

Память или переменное окно
Выберите переменную, щелкните правой кнопкой мыши и выберите «Добавить «Имя переменной» в…», чтобы добавить ее в указанное окно наблюдения.

Окно «Периферийные устройства системы»
То есть окно просмотра значений периферийных регистров.




