СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №1/2016

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 22 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2016 Современные 32-разрядные ARM-микроконтроллеры серии STM32: графический генератор кода STM32CubeMX Рис. 1. Окно «New project» Рис. 2. Закладка «Board Selector» В статье приведено описание программного инструмента STM32CubeMX визуальной графической подготовки и генерации программного кода на языке Си для 32-разрядных ARM-микроконтроллеров серии STM32 от компании STMicroelectronics. Олег Вальпа (г. Миасс, Челябинская обл.) В ВЕДЕНИЕ В настоящее время семейство мик- роконтроллеров STM32 включает в себя достаточно большой набор вариантов ядер: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4. При таком разнообразии микроконтроллеров встаёт вопрос о наличии инстру- мента для настройки частот тактиро- вания, инициализации периферии микроконтроллеров и генерации кода для них. О ПИСАНИЕ ГЕНЕРАТОРА КОДА С целью облегчения труда про- граммистов и ускорения разработ- ки программ для микроконтрол- леров семейства STM32 компания STMicroelectronics [1] создала специ- альное программное обеспечение под названием STM32CubeMX. Основ- ная идея программного обеспечения STM32CubeMX как раз и заключает- ся в предоставлении универсального инструмента для настройки и созда- ния кода инициализации для микро- контроллеров STM32. Данный продукт позволяет осуществить: ● назначение выводов с автоматиче- ским разрешением конфликтов; ● построение дерева тактирования с динамической проверкой конфи- гурации; ● инициализацию периферии с про- веркой параметров на корректность; ● инициализацию питания с оценкой результирующего потребления. Программный инструмент STM32 CubeMX постоянно модернизируется. Его возможности расширяются путём обеспечения поддержки всё большего количества моделей микроконтрол- леров. Данный программный инстру- мент и обновления для него всегда мож- но загрузить с официального сайта STMicroelectronics [1]. STM32CubeMX является частью про- граммной платформы STM32Cube™, которая разработана для облегчения труда разработчика и сокращения времени написания программ для микроконтроллеров семейства STM32. Платформа STM32Cube™ включает в себя десятки примеров базовых про- грамм, поддерживает библиотеки USB, Ethernet, FreeRTOS, FatFS и функцию расчёта энергопотребления микро- контроллеров с батарейным питанием. С помощью данной платформы поль- зователь может генерировать проек- ты для сред разработки IAR Embedded Workbench, Keil uVision и Atollic TrueStudio. Также планируется под- держка GCC и других компиляторов. Рассмотрим на конкретном при- мере, как можно применять данный инструмент на практике. На момент написания статьи генератор кода STM32CubeMX имел версию 4.4.0, для которой и приведено описание. Первым делом необходимо скачать установочный файл генератора кода STM32CubeMX с официального сай- та [1] и установить его на персональном компьютере с операционной системой Windows XP (или более новой) путём простого запуска установочного файла. После установки программы и её запуска на экране монитора откроет- ся окно начала работы. Версию установленной програм- мы можно посмотреть в меню «Help» с помощью программной кнопки «About» или одновременным нажати- ем кнопок «Alt» и «A». С помощью меню «Help» можно так- же получить справку о программе, нажав клавишу «F1», проверить обнов- ления программы, установить новые библиотеки и настроить процедуру обновления. Рассмотрим процедуру генера- ции нового проекта. Для этого необ- ходимо в меню «File» выбрать «New project…». Через несколько секунд после этого откроется окно (см. рис. 1). Здесь необходимо выбрать серию, тип микроконтроллера и его корпус (в закладке «MPU Selector») с помо- щью элементов выбора «Series», «Lines» и «Package» группы «MCU Filters». При необходимости здесь же можно задать минимальное количество выводов «IO» и размер памяти «Flash», «Ram» и «Eeprom» микроконтроллера. С помощью закладки «Board Selector», представленной на рисунке 2, мож- но выбрать используемую в будущем проекте отладочную плату. Например, «Discovery», «Nucleo» или «EvalBoard». После выбора типа микроконтрол- лера и нажатия кнопки «Ok», програм- ма STM32CubeMX откроет новое окно,

RkJQdWJsaXNoZXIy MTQ4NjUy