Работа с STM32 ST-LINK Utility через консоль

Консольная утилита ST-LINK_CLI

Не для кого не секрет, что для прошивки контроллеров семейства stm32 есть утилита STM32 ST-LINK Utility с графическим интерфейсом и неплохим функционалом. В комплекте с графическим интерфейсом утилиты так же идёт консольная версия — ST-LINK_CLI.exe .

Консольная утилита ST-LINK_CLI

Консольная утилита ST-LINK_CLI

Графический интерфейс утилиты STM32 ST-LINK Utility хорошо подходит для ручной, наглядной, прошивки контроллера и конфигурации его памяти и регистров, консольную утилиту можно подключить к средам разработки и с её помощью автоматизировать прошивку серии контроллеров.

Функционал консольной утилиты тот же, что и у утилиты с графическим интерфейсом, только вся работа идёт через консоль.

Что бы получить перечень поддерживаемых команд утилитой ST-LINK_CLI достаточно её запустить без параметров.

Рассмотрим основные команды:
Рассмотрим основные команды:
-Rst — сброс, перезагрузка камня
-ME — очисть всю flash память
-SE — стереть выбранные сектора flash памяти (обычно один сектор занимает 1КБ или 0x0400 для low и medium семейств контроллеров)
Синтаксис: -SE <Start_Sector> [<End_Sector>]
пример:

«C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe» -SE 0 4

STM32 ST-LINK CLI v2.0.0
STM32 ST-LINK Command Line Interface

ST-LINK SN : 0123456789ABCDEF12345678
ST-LINK Firmware version : V2J21S4
Connected via SWD.
Connection mode : Normal.
Device ID:0x440
Device flash Size : 64 Kbytes
Device family :STM32F030xx/F051xx/F071xx
Memory Sector @0x08000000 erased.
Memory Sector @0x08000400 erased.
Memory Sector @0x08000800 erased.
Memory Sector @0x08000C00 erased.
Memory Sector @0x08001000 erased.

-P — загрузка прошивки
Синтаксис: -P <File_Path> [<Address>]
пример:

C:\Users\Alex>»C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\S
T-LINK Utility\ST-LINK_CLI.exe» -P «D:\project1\lite.bin» 0x08000000
STM32 ST-LINK CLI v2.0.0
STM32 ST-LINK Command Line Interface

ST-LINK SN : 0123456789ABCDEF12345678
ST-LINK Firmware version : V2J21S4
Connected via SWD.
Connection mode : Normal.
Device ID:0x440
Device flash Size : 64 Kbytes
Device family :STM32F030xx/F051xx/F071xx
Loading file…
Flash Programming:
File : D:\project1\lite.bin
Address : 0x08000000
Flash memory programming…
██████████████████████████████████████████████████ 100%
Flash memory programmed in 0s and 94ms.
Programming Complete.

-V — верификация
Работа с опциональными байтами
-OB RDP=<Level> — установка защиты от чтения памяти
0 — защита отключена
1 — защита включена
2 — защита включена (отладчик и загрузчик в SRAM использовать можно)

Используя данную утилиту можно написать скрипт, которым можно прошивать и конфигурировать контроллеры вводом одной команды. Например: прошьём и перезагрузим контроллер.

«C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\S
T-LINK Utility\ST-LINK_CLI.exe» -P «D:\project1\project1.bin» 0x08000000
«C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\S
T-LINK Utility\ST-LINK_CLI.exe» -Rst

Если добавить goto и pause то можно будет перепрошивать серию контроллеров одним нажатием клавиши.

Скрипт можно написать в любом текстовом редакторе, например блокноте и сохранить с разрешением *.bat, если будете его использовать проверьте пути к утилите ST-LINK_CLI.exe и укажите путь к своей прошивке.

Другой пример использования консольной утилиты ST-LINK_CLI. Есть задача по прошивки серии устройств на основе контроллера stm32. На плате во время её проектирования были предусмотрены специальные площадки для удобного подключения программатора, в который можно запаять или штыревой PLS разъём, или подсоединяться к ним нему используя специальный щуп из подпружиненных контактов. В контроллере находится 2 прошивки: основная прошивка и загрузчик, идентификатор устройства и блок данных. Контроллер нужно прошить, проверить целостность прошитых данных и защитить контроллер от считывания. Для данной цели за пару часов была написана небольшая утилита с графическим интерфейсом (в некоторых случаях на этапе отладки нужно без проблем менять некоторые параметры прошивки — это куда проще сделать щёлкнув по паре галочек), которая используя консольную утилиту ST-LINK_CLI прошивает и конфигурирует контроллер за пол минуты, когда при ручной прошивки контроллера на это уйдёт куда больше времени.

Самописная утилита для прошивки устройств

Самописная утилита для прошивки устройств

Комментировать »

Alex_EXE | 12.03.2017 | STM32 | 1 840 просмотров

Комментарии RSS

Оставьте отзыв