Русские Блоги
STM32 ST-LINK Утилита введение, загрузка, установка, использование
The. Содержимое, описанное в этой статье, представляет собой введение, загрузку, установку и использование утилиты STM32 ST-LINK. Если вам нужно больше узнать о статьях, связанных с STM32, вы можете перейти к моему блогу или общедоступной учетной записи WeChat для просмотра и загрузки. Программный инструмент STM32 ST-LINK Utility фактически является программным обеспечением главного компьютера, используемым вместе со средством загрузки "ST-LINK". Поэтому для использования программного обеспечения STM32 ST-LINK Utility требуется инструмент ST-LINK. Его функция аналогична соответствующему инструменту J-Link, который используется для программирования кода. Утилита STM32 ST-LINK проверяет некоторые другие версии кода во время разработки продукта.Вы можете скачать hex непосредственно, не открывая проект и не компилируя для загрузки. Когда вы разработали продукт STM32 и нуждаетесь в массовом производстве, вы можете использовать этот инструмент для прямой загрузки шестнадцатеричного кода и шифрования кода (защита от чтения). Содержание этой статьи было организовано в виде файла PDF для всех, чтобы загрузить:
Содержание этой статьи было организовано в виде файла PDF для всех, чтобы загрузить:
Introduction. Введение в утилиту STM32 ST-LINK 1. Об утилите STM32 ST-LINK Основной функцией программного обеспечения STM32 ST-LINK является массовое производство (инструмент для загрузки кодов партиями). Это также более практичный инструмент: когда нам нужно просмотреть FLASH-данные чипа, мы можем быстро найти и найти нужные данные (при условии, что защита не добавлена). В служебную программу STM32 ST-LINK входят драйверы ST-Link. Если вы устанавливаете программное обеспечение STM32 ST-LINK Utility, вашему ST-Link не нужно устанавливать драйвер отдельно и его можно использовать напрямую (например, Keil, онлайн-отладка IAR, загрузка и т. Д.). Утилита STM32 ST-LINK Utility может не только быстро считывать данные FLASH, но также модель чипа STM32, идентификатор, версию и другую информацию.
2. Описание обновления версии 4.0.0 STM32 Версия ST-LINK Utility V 4.0.0 в основном обновляется на основе V3.9.0: A. Помимо использования интерфейса Flash для программирования регистров байтов, вы также можете использовать (двоичный / шестнадцатеричный). / srec) файл для программирования слов опций. B. Поддержка операционной системы Windows10.
Download. Загрузите программное обеспечение STM32 ST-LINK Utility, которое можно загрузить с официального сайта или с моего диска Baidu. Установка и регистрация, описанные в следующих разделах, также являются программным обеспечением, загружаемым с официального сайта, чтобы облегчить загрузку, я загружаю его на веб-диск Baidu (так же, как на официальном сайте). 1. Официальная загрузка В настоящее время (октябрь 2016 г.) Последняя официальная версия STM32 ST-LINK Utility — V4.0.0. Официальная загрузка требует регистрации учетной записи ST, и учетная запись ST может быть успешно загружена после входа в систему. Если у вас возникли проблемы, вы можете загрузить ее на мой диск Baidu (тот же файл, что и на официальном сайте). Официальный адрес для загрузки: http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link004.html [Нажмите «Скачать» на веб-странице для загрузки. (Если нет учетной записи для входа, будет предложено «зарегистрироваться» или «войти»)]

2. Загрузка сетевого диска Baidu Для облегчения загрузки версия, которую я предоставил для загрузки на сетевой диск Baidu, также является официальной загрузкой с веб-сайта выше и загружает ее на сетевой диск Baidu [регулярно обновляется до последней версии]. Он содержит служебное программное обеспечение STM32 ST-LINK, информацию, старое программное обеспечение и т. Д. Адрес сетевого диска Baidu: http://pan.baidu.com/s/1c16mhsk Примечание. Поскольку в последние годы многие сетевые диски были повреждены или остановлены подряд, в случае сбоя подключения к сетевому диску перейдите на официальный веб-сайт для загрузки или WeChat. Проверьте ссылку на обновление в общедоступной учетной записи или свяжитесь с автором на WeChat.
、 、 Установка
Установка интегрированной среды разработки STM32 ST-LINK Utility относительно проста (в основном идет до конца). Давайте поговорим об этом в соответствии с общим руководством по установке (скриншот). Возьмем, например, программное обеспечение STM32 ST-LINK Utility v4.0.0 setup.exe, загруженное выше.
Требования к операционной системе:
Windows XP、Windows 7、Windows 10
256M памяти и выше, 30M жесткого диска и выше
1. Распакуйте программное обеспечение, дважды щелкните «STM32 ST-LINK Utility v4.0.0.exe», чтобы начать подготовку к установке (распаковке).

2. Войдите в мастер установки и нажмите «Далее».

3. Согласитесь с лицензией и нажмите «Да».

4. Выберите путь установки (по умолчанию здесь) и нажмите «Далее».

5. Введите процесс установки менее чем за минуту.

6. В конце установки появится запрос «Установить драйвер», нажмите «Далее» и, наконец, нажмите «Готово». Установка завершена.


7. Нажмите «Готово», чтобы завершить установку программного обеспечения главного компьютера и драйвера ST-LINK.

8. Проверьте версию: Откройте программное обеспечение-> Справка-> О программе, вы увидите, что версия обновлена.

Basic. Основное использование
1.Кейл и IAR конфигурация для генерации гекса
Программное обеспечение STM32 ST-LINK Utility в основном представляет собой загрузочную программу (исполняемый шестнадцатеричный файл), поэтому для создания шестнадцатеричного файла требуется инструмент программирования. Общие инструменты описаны ниже.Keil и IAR генерируют шестнадцатеричную конфигурацию。
А. Кейл генерирует шестнадцатеричную конфигурацию
Проект-> Параметры для цели-> ВыводCreate HEX File«(Как показано ниже)

B. IAR генерирует шестнадцатеричную конфигурацию
Project-> Options-> Output Coverter-> отметьте "Generate additional output«Выберите выходной формат как»Intel extendedMsgstr ", снова установите имя выхода и настройте его (как показано ниже).

2.Читайте внутреннюю флэш-память и информацию о чипе
Используйте ST-Link для подключения аппаратного обеспечения (микросхема STM32), откройте служебную программу STM32 ST-LINK и подключите микросхему: Tarage-> connect или непосредственно нажмите кнопку ярлыка подключения (как показано ниже).
[Предпосылка чтения флэш-информацииЗащита от чтения не добавлена】
Вы можете установить начальный адрес для чтения флэш-памяти, длину чтения и ширину отображения данных, прежде чем нажимать «кнопку подключения».

3. Откройте программу (hex)
После подключения чипа на предыдущем шаге и правильной идентификации чипа, откройте файл программы (шестнадцатеричный) для загрузки. Вы можете открыть шестнадцатеричный файл в строке меню (Файл-> Открыть файл) или напрямую поговорить о шестнадцатеричном файле.лобовое сопротивлениеВ область FLASH (как копирование файлов с компьютера на USB-накопитель).

4. Скачать программу (в шестнадцатеричном формате)
После открытия шестнадцатеричного файла на предыдущем шаге нажмите «скачать”(Taraget-> Program, или непосредственно нажмите на кнопку загрузки, как показано ниже)

Появится окно подтверждения сообщения, такое как шестнадцатеричный путь к файлу и способ проверки. После подтверждения правильности информации нажмите «Пуск», чтобы начать процесс загрузки.
[Пример: я назвал исполняемый шестнадцатеричный файл «ExecutableFile.hex», расположенный на рабочем столе]

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

、 、 Описание
STM32 ST-LINK Utility Этот программный инструмент является официальным средством загрузки, рекомендованным ST (поддерживающим загрузчик ST-Link), это бесплатное программное обеспечение, а также инструмент для наших учащихся и разработчиков STM32.
Приведенное выше резюме только для справки, если что-то не так, пожалуйста, прости меня
Flashing an STM32
How to load firmware on the most common ARM microcontroller family
![]()
If you landed here I’m going to assume you have a binary firmware ready to be loaded onto an STM32-like-kinda-similarish device.
If not, you should definitely prepare one! Then come back when you are ready.
There area a few options when approaching this task that are more or less valid depending on what actually is your target.
Official STM32 discovery boards (such as https://www.st.com/en/evaluation-tools/nucleo-f030r8.html) integrate an st-link download tool, so they can be just plugged in as USB devices.
If you have something like a Blue Pill you will require external tooling and some wiring to load the firmware.
Fear not, as everything is relatively inexpensive.
While most notions here apply to the vast majority of STM32 devices, I will be taking the Blue Pill as main reference.
Unless otherwise specified, I will be assuming you have a valid couple of files named application.elf and application.bin at hand to be loaded onto the device.
Option 1: Using an ST-Link Programmer
Most microcontrollers nowadays ship with some internal logic to be programmed on the spot by specific devices. ST-Link is a generic name that covers many variants of STM32 programmers, and any one of those should be sufficient for our purposes.
While more official tools’ cost can range from 20 to 100 Euros, the web is filled with smaller clones that get thrown at you for as low as 2 bucks — and they suffice.
As mentioned before, some demo boards already include an integrated st-link tool, so the device should popup when you plug it in through USB. You don’t need any external hardware in that case.
ATTENTION: There are some differences between official ST tools and counterfeits that you should be aware of.
The debugger connection for STM32’s SWD protocol includes four lines: GND, 3v3, SWDIO and SWCLK.
While the…
Программирование STM32. Часть 14: Прошиваем STM32 через ST-Link
Допустим, копая просторы Интернета, нашли мы очень интересное электронное устройство на микроконтроллере STM32, причем и все схемы, и прошивка прилагается. Но вот незадача, никогда мы не занимались загрузкой прошивки в STM32, раньше работали только с AVR-ками. Не беда! В этой статье мы разберемся в этом вопросе, ведь загружать готовую прошивку в STM32 не сложнее, чем в старые добрые AVR-ки, а может даже и проще! Итак, поехали! Предыдущая статья здесь, все статьи цикла можно посмотреть тут: http://dimoon.ru/category/obuchalka/stm32f1.
Программатор
В предыдущей части мы познакомились с несколькими вариантами программатора ST-Link. В данном примере в качестве программатора я буду использовать отладочную плату stm32f4discovery, просто потому, что она у меня есть. Для того, чтобы использовать эту отладочную плату в качестве программатора, нужно сделать 2 вещи:
- Снять перемычки, соединяющие линии программирования встроенного ST-Link-а с микроконтроллером, распаянным на плате
- С помощью гребенки, на которую выведена шина SWD, подключить сигнальные линии программатора к внешнему микроконтроллеру
На картинке, приведенной далее, показана распиновка разъема SWD:

На китайских отладочных платах с микроконтроллером stm32f103c8 имеется соответствующий разъем, через который можно загрузить прошивку в МК. Эти платы выглядят примерно так:

Пины на разъеме программирования подписаны как GND, CLK, DIO, 3V3. Соединение с программатором выполняется вот таким образом:
- GND — GND
- CLK — SWCLK
- DIO — SWDIO
У меня макеты выглядят вот так:

В данном случае отладочная плата с stm32f103c8 припаяна к «решету», на котором соединена с остальными компонентами на обратной стороне проводом в изоляции. Таким же проводом выполнено подключение программатора к отладочной плате:

Перейдем теперь к программной составляющей. Нам понадобится драйвер для программатора и управляющая софтина, через через которую мы будем загружать прошивку в микроконтроллер. Для этого нам нужно на официальном сайте www.st.com скачать пакет STM32 ST-LINK utility. А что нужно сделать перед скачиванием чего-нибудь с www.st.com? Правильно! Надо у них зарегистрироваться.
[Шуточка про «нельзя просто так взять и скачать что-то с st.com»]
Кину ссылку на архив в конце статьи.
Итак, мы добыли архив с пакетом STM32 ST-LINK Utility. После установки подключаем программатор к ПК по USB и подключаем питание к отладочной плате. Если драйвера на программатор не установились автоматически, то идем в диспетчер устройств, там находим наш STM32 STLink, выбираем Обновить драйвер->Выполнить поиск на этом компьютере. После этого все должно заработать. Затем, из меню «Пуск» запускаем программу «STM32 ST-LINK Utility«:

Выглядит интерфейс ST-LINK Utility вот так:

Далее, нам необходимо произвести небольшие настройки. В меню выбираем Target->Settings…

Открывается вот такое окошко:

Выставляем настройки, как на скриншоте и нажимаем OK. После этого программатор автоматически подключится к прошиваемому микроконтроллеру. Пробежимся по кнопкам управления:

«Подключиться к микроконтроллеру» — выполняет подключение программатора к МК. При этом работа прошивки останавливается. После этого можно выполнять дальнейшие манипуляции с flash-памятью МК.
«Отключиться от микроконтроллера» — после того, как мы все сделали, нажимаем на эту кнопку и SL-Link отключается от МК, при этом запускается загруженная во flash-память прошивка.
«Очистить чип» — при нажатии на эту кнопку стирается вся flash-память микроконтроллера. Это необходимо делать перед загрузкой другой прошивки в МК.
Для того, чтобы прошить наш .hex или .bin файл в МК нужно сделать следующее. В меню выбираем Target->Programm…

После этого у нас открывается окошко выбора файла прошивки. Выбираем нужный нам файл, после чего появляется вот такое окно:

Здесь нам нужно нажать Start чтобы запустить процесс. После того, как прошивка была загружена в МК, нажимаем на кнопку «Отключиться от микроконтроллера«.
Те, кто раньше работал с микроконтроллерами AVR знают о такой вещи как фьюз-биты. Если в AVR-ках неправильно их выставить, то прошивка может работать некорректно. Для вас хорошая новость: в STM32 фьюз-битов нет! Достаточно просто залить в МК файл с управляющей программой и все будет работать.
Ну что ж, на этом, пожалуй, закончу, всем кто дочитал, спасибо за внимание Продолжение тут
Как программировать платы на основе STM32 с помощью утилиты ST-Link?
ST-Link Utility также может быть использован для программирования пользовательского оборудования с использованием , например ST-Link / V2 программиста .
Генерация Hex-файлов
ST-Link Utility может программировать файлы .hex и .bin. Они автоматически генерируются Make-файлами ARM gcc, поставляемыми с проектом TouchGFX. IAR и Keil IDE настроены для преобразования выходных файлов .elf в файл .hex.
- Для проектов IAR дополнительный вывод преобразуется ( intel extended форматируется) в Debug\Exe\application.hex
- Для проектов Keil выполняется следующий шаг после сборки: в
fromelf —only=ExtFlashSection —bin —output=binary .\Objects\keil5-2.axf
результате получается файл .hex: Objects\keil5-2.hex
Перепрошивка с использованием графического интерфейса ST-Link Utility
Процесс, описанный в этой статье, описывает, как использовать утилиту ST-Link для программирования внутренней и внешней флэш-памяти плат ST. Для внутренней вспышки ST-Link автоматически определит тип подключенного устройства. Однако для внешней вспышки внешний флэш-загрузчик должен быть настроен вручную. ST-Link предлагает поддержку для каждого флэш-чипа на платах, поддерживаемых TouchGFX.
При прошивке двоичного файла с помощью утилиты ST-Link вы должны указать правильный флэш-адрес вручную. Этот адрес должен совпадать с адресом, используемым в скрипте компоновщика. По умолчанию это первый адрес во флэш-памяти. При перепрошивке файла .hex утилита ST-Link найдет правильный адрес в файле .hex.
ST-Link автоматически определит диапазоны памяти для программирования и выберет подходящие флэш-загрузчики для использования, если так настроено, при открытии .hex-файла. В приведенном ниже примере target.hex приложение было открыто в ST-Link, и были обнаружены диапазоны как внутренней, так и внешней флэш-памяти.
Как упоминалось ранее, внутренняя флэш-память всегда распознается ST-Link для микроконтроллеров STM32, но флэш-загрузчик для диапазонов, начинающихся с 0x90000000, должен быть настроен вручную. В приведенном ниже примере мы настроим внешнюю вспышку для STM32F746G-DISCO платы:
- Выберите « Добавить внешний загрузчик » в меню « Внешний загрузчик ».
- Выберите соответствующий флэш-загрузчик в списке поддерживаемых плат (т.е. MT25QL512A_STM32756G-EVAL для STM32756G-EVAL и N25Q128A_STM32F746G-DISCO для STM32F746G-DISCO ) и выберите Подтвердить .

- Откройте .hex, который вы хотите мигать: диапазоны адресов автоматически определяются ST-Link. Как упоминалось ранее, разные двоичные файлы создаются IAR, Keil и gcc соответственно и могут использоваться ST-Link.
- Выберите « Program » в меню « Target » и начните загрузку.

Ниже приведен полный список внешних флэш-загрузчиков, которые будут использоваться для плат ST, поддерживаемых TouchGFX (ST-Link версия 4.2):
| доска | Флеш загрузчик |
|---|---|
| STM32F429I-DISCO | Только внутренняя вспышка |
| STM324x9I-EVAL | M29W128GL_STM324x9I-EVAL |
| STM32469I-DISCO | N25Q128A_STM32469I-DISCO |
| STM32469I-EVAL | MT25QL512A_STM32469I-EVAL |
| STM32F746G-DISCO | N25Q128A_STM32F746G-DISCO |
| STM32756G-EVAL | MT25QL512A_STM32756G-EVAL |
| STM32F769I-EVAL | MT25QL512A_STM32769I-EVAL |
| STM32F769I-DISCO | MX25L512G_STM32769I-DISCO |
| STM32L4R9-EVAL | MX25LM51245G_STM32L4R9I-EVAL |
| STM32L4R9-DISCO | MX25LM51245G_STM32L4R9I-DISCO |
Использование Flash make (ST-Link CLI)
Кроме того, вы можете создать и прошить приложение (используя ST-Link CLI) с помощью любой makefile (т.е. app/example/button_example/target/ST/STM32F746G-DISCO/gcc/Makefile ), используя следующую команду:
Makefile знает, какую внешнюю флэш-память (см. Таблицу выше) использовать для каждой из поддерживаемых плат ST. ST-LINK имеет встроенную поддержку внутренней вспышки для каждой платы, и вы можете прошить только внутреннюю вспышку, используя следующую команду:
В некоторых случаях вы не сможете запрограммировать свою доску указанным выше способом из-за следующей ошибки:
В этом случае вы можете попытаться отключить драйвер устройства USB для этой конкретной платы в диспетчере устройств Windows, чтобы устранить проблему.
