Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2743
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Установка инструментария

82

Я купил несколько плат Nucleo и увидел, что все платы поставляются со старым микропрограммным обеспечением ST-LINK. Чтобы использовать Nucleo с OpenOCD, необходимо обновить микропрограммное обеспечение как минимум до версии 2.29.18.

Мы можем загрузить последние версии драйверов ST-LINK с веб-сайта ST41. Микропрограмма распространяется в виде ZIP-файла. Распакуйте его в удобном месте. Подключите плату Nucleo с помощью USB-кабеля, перейдите во вложенную папку AllPlatforms и выполните файл STLinkUpgrade.jar. Нажмите кнопку Open in update mode.

Рисунок 30: Программа ST-LINK Upgrade

Через некоторое время ST-LINK Upgrade покажет, нужно ли обновлять микропрограмму Nucleo (указав другую версию, как показано на рисунке 30). Если это так, нажмите кнопку Upgrade и следуйте инструкциям.

2.4.5. Mac – Установка OpenOCD

OpenOCD42 – это инструмент, который позволяет загружать микропрограммное обеспечение на плату Nucleo и выполнять пошаговую отладку. Первоначально созданный Домиником Ратом (Dominic Rath), OpenOCD сейчас активно поддерживается сообществом и несколькими компаниями, включая STM. Мы обсудим его подробно в Главе 5, которая посвящена отладке. Но установим мы его в этой главе, потому что процедура меняется между тремя разными платформами (Windows, Linux и Mac OS). Последний официальный выпуск на момент написания данной книги – 0.10.

Самое быстрое решение для установки OpenOCD состоит в использовании предварительно скомпилированного пакета, предоставленного Ливиу Ионеску. Фактически, он уже сделал грязную работу для нас. Вы можете загрузить последнюю версию разработки OpenOCD (0.10.0-5-20171110-* на момент написания данной главы) из официального репозитория GNU MCU Eclipse43. Выберите файл, оканчивающийся на .package, и запустите установщик после загрузки. Следуйте инструкциям по установке. По завершении программа установки поместит все файлы в папку /Applications/GNU MCU Eclipse/OpenOCD. В свою очередь, вы найдете папку с именем, аналогичным имени пакета .pkg (например, вы найдете папку с именем 0.10.0-5-20171110-1117). Скопируйте эту папку внутрь папки /STM32Toolchain и переименуйте ее в openocd, чтобы оконча-

тельный путь был /STM32Toolchain/openocd.

41https://www.st.com/en/development-tools/stsw-link007.html

42http://openocd.org/

43https://github.com/ilg-archived/openocd/releases/tag/v0.10.0-5-20171110

/STM32Toolchain/openocd

Установка инструментария

83

Еще раз, это гарантирует нам, что мы не должны изменять настройки Eclipse, когда будет выпущена новая версия OpenOCD, но нам нужно будет только заменить содержимое внутри папки новой версией программного обеспечения.

Хорошо. Мы готовы протестировать нашу плату Nucleo. Подключите ее к Mac с помощью USB-кабеля. Через несколько секунд введите следующие команды:

$ cd ~/STM32Toolchain/openocd/scripts

$ ../bin/openocd -f board/<nucleo_conf_file>.cfg

где <nucleo_conf_file>.cfg должен быть заменен конфигурационным файлом, который подходит вашей плате Nucleo, в соответствии с таблицей 2. Например, если Nucleo – Nucleo-F401RE, тогда правильным конфигурационным файлом для передачи в OpenOCD

будет st_nucleo_f4.cfg.

Таблица 2: Соответствующий файл OpenOCD для имеющихся плат Nucleo

Nucleo P/N

Скрипт OpenOCD 0.10.0 для платы

NUCLEO-F446RE

st_nucleo_f4.cfg

NUCLEO-F411RE

st_nucleo_f4.cfg

NUCLEO-F410RB

st_nucleo_f4.cfg

NUCLEO-F401RE

st_nucleo_f4.cfg

NUCLEO-F334R8

stm32f334discovery.cfg

NUCLEO-F303RE

st_nucleo_f3.cfg

NUCLEO-F302R8

st_nucleo_f3.cfg

NUCLEO-F103RB

st_nucleo_f103rb.cfg

NUCLEO-F091RC

st_nucleo_f0.cfg

NUCLEO-F072RB

st_nucleo_f0.cfg

NUCLEO-F070RB

st_nucleo_f0.cfg

NUCLEO-F030R8

st_nucleo_f0.cfg

NUCLEO-L476RG

st_nucleo_l476rg.cfg

NUCLEO-L152RE

st_nucleo_l1.cfg

NUCLEO-L073RZ

st_nucleo_l073rz.cfg

NUCLEO-L053R8

stm32l0discovery.cfg

Если все прошло успешно, вы должны увидеть следующие сообщения на консоли:

Open On-Chip Debugger 0.10.0 (2015-09-09-16:32) Licensed under GNU GPL v2

For bug reports, read http://openocd.org/doc/doxygen/bugs.html

Info : The selected transport took over low-level target control. The results might differ com\ pared to plain JTAG/SWD

adapter speed: 2000 kHz adapter_nsrst_delay: 100 none separate

srst_only separate srst_nogate srst_open_drain connect_deassert_srst Info : Unable to match requested speed 2000 kHz, using 1800 kHz

Info : clock speed 1800 kHz

Info : STLINK v2 JTAG v24 API v2 SWIM v11 VID 0x0483 PID 0x374B Info : using stlink api v2

Info : Target voltage: 3.245850

Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints

Установка инструментария

84

В то же время светодиод LD1 на плате Nucleo должен начать мигать ЗЕЛЕНЫМ и КРАСНЫМ поочередно.

2.4.6. Mac – Установка инструментов ST

ST предоставляет несколько инструментов, полезных для разработки приложений на ос-

нове STM32.

STM32CubeMX – это графический инструмент, используемый для генерации установочных файлов на языке программирования Си для микроконтроллера STM32 в соответствии с аппаратной конфигурацией нашей платы. Например, если у нас есть NucleoF401RE, которая основана на микроконтроллере STM32F401RE, и мы хотим использовать ее пользовательский светодиод (помеченный как LD2 на плате), то STM32CubeMX автоматически сгенерирует все исходные файлы, содержащие код Си, необходимый для конфигурации микроконтроллера (тактирование, периферийные порты и т. д.) и GPIO, подключенный к светодиодному индикатору (GPIO 5 порта A практически на всех платах Nucleo). Вы можете скачать последнюю версию STM32CubeMX (в настоящее время 4.23) с официальной страницы ST44 (ссылка для скачивания находится внизу страницы). Файл представляет собой ZIP-архив. После распаковки вы найдете файл с именем SetupSTM32CubeMX-4_14_0_macos. Этот файл является программой установки инструмента. Программе установки требуются права суперпользователя, если вы хотите установить STM32CubeMX для всей системы. Итак, дважды щелкните по иконке SetupSTM32CubeMX-4_14_0_macos. Через некоторое время появится мастер установки, как показано на рисунке 31.

Рисунок 31: Мастер установки STM32CubeMX

44 https://www.st.com/en/development-tools/stm32cubemx.html

Установка инструментария

85

Следуйте инструкциям по установке. По умолчанию программа установлена в /Applications/STMicroelectronics. После завершения установки откройте Finder, перейдите в папку /Applications/STMicroelectronics и дважды щелкните по иконке STM32CubeMX.app. Через некоторое время на экране появится STM32CubeMX, как показано на рисунке 32.

Рисунок 32: Интерфейс STM32CubeMX

Другим важным инструментом является STM32CubeProgrammer45. Это программное обеспечение, которое загружает микропрограммное обеспечение на микроконтроллер с использованием интерфейса ST-LINK нашей Nucleo или специального программатора ST-LINK. Мы будем использовать его в следующей главе. Вы можете скачать STM32CubeProgrammer с официальной страницы ST46 (ссылка на скачивание находится в нижней части страницы в разделе GET SOFTWARE) и следовать инструкциям по установке.

Поздравляю. Инструментарий завершен, и вы можете перейти к следующей главе.

45https://www.st.com/en/development-tools/stm32cubeprog.html

46https://www.st.com/en/development-tools/stm32cubeprog.html