№9 / 2018 / статья 6

Новая доступная среда разработки для микроконтроллеров STM32

Вячеслав Гавриков (г. Смоленск)

Совсем недавно компания STMicroelectronics приобрела компанию Atolic, которая занималась разработкой интегрированной среды TrueStudio. Через некоторое время было объявлено, что новые версии TrueStudio будут переориентированы исключительно на STM32 и станут бесплатными. В данной статье кратко описываются основные возможности новой среды, а также рассматривается экосистема микроконтроллеров STM32 в целом.

Около десяти лет назад микроконтроллеры семейства STM32 произвели настоящую революцию в отрасли. Эти быстрые, надежные и, главное, недорогие 32-битные контроллеры стали чрезвычайно популярными среди разработчиков. При этом компания STMicroelectronics не остановилась на достигнутом и продолжает расширять модельный ряд.

Высокий интерес к STM32 также объяснялся наличием грамотно выстроенной экосистемы: каждая новая линейка микроконтроллеров сопровождалась выпуском различных отладочных плат, бесплатных библиотек и различных фирменных утилит от ST.

Однако, если с аппаратной частью, библиотеками и утилитами у STM32 все было в полном порядке, то ситуация с интегрированными средами разработки (IDE) оставалась менее радужной. Конечно, поддержка STM32 присутствовала во всех основных IDE: Keil, IAR, TrueStudio и др., но у них был один общий недостаток – все они были платными. То есть для написания самых простых программ на С/С++ требовалось заплатить несколько тысяч долларов за лицензионный ключ. Впрочем, в STMicroelectronics старались всячески переломить ситуацию.

Первым шагом в этом направлении стало сотрудничество STMicroelectronics с Keil (ARM). В результате этого пользователи бюджетных микроконтроллеров серии STM32F0 получили бесплатный доступ к полноценной версии среды – правда, с ограничением по объему кода. Впрочем, 32 кбайт хватает для подавляющего большинства приложений.

Далее STMicroelectronics оказала поддержку французскому проекту AC6. Это привело к тому, что у пользователей STM32 наконец-то появилась своя собственная интегрированная среда разработки AC6 System Workbench (SW4STM32). По мнению экспертов, этот инструмент уступал своим более мощным коммерческим собратьям, однако он позволял создавать бюджетные устройства с минимальными затратами.

Совсем недавно STMicroelectronics объявила о покупке небольшой шведской компании Atolic, которая занималась разработкой достаточно популярной среды TrueStudio. Оглашение дальнейшей дорожной карты развития TrueStudio стало настоящим праздником для любителей STM32: новые релизы среды будут работать исключительно с STM32, при этом пользователи получат в свое распоряжение всю мощь TrueStudio, которая ранее предоставлялась только с лицензионной версией TrueStudio Pro.

В статье кратко рассматривается модельный ряд и экосистема микроконтроллеров STM32, описываются основные возможности и особенности Atolic TrueStudio, а в дополнительном видео приводится пример взаимодействия TrueStudio и STM32Cube.

Обзор семейств микроконтроллеров STM32

В настоящий момент компания STMicroelectronics выпускает более 800 моделей микроконтроллеров STM32, объединённых в 11 семейств. С учетом производительности, уровня потребления и наличия специализированной периферии все семейства можно разделить на четыре целевые ниши (рисунок 1):

Рис. 1. Портфолио микроконтроллеров STM32 от ST

Рис. 1. Портфолио микроконтроллеров STM32 от ST

Аппаратные средства разработки

На заре появления микроконтроллеров STM32 отладочные платы поставлялись преимущественно сторонними компаниями (IAR, Olimex и др.), однако позже STMicroelectronics перехватила инициативу и стала самостоятельно выпускать стартовые и ознакомительные наборы. Это позволило ускорить процесс продвижения новых микроконтроллеров на рынке. Сейчас общее число произведенных фирменных отладочных наборов для STM32 и STM8 превысило миллион экземпляров.

В настоящий момент для STM32 выпускается почти сто разновидностей фирменных отладочных плат, которые делятся на четыре функциональные группы: платы Discovery, платы Nucleo, платы расширения для Nucleo, отладочные платы Evaluation Boards.

Оценочные платы Discovery. Эти оценочные платы содержат целевой микроконтроллер, встроенный отладчик ST-LINK v2 и дополнительную внешнюю периферию: акселерометры, ЖК-дисплеи, кодеки и т.д. Состав периферии зависит от наименования платы. Сейчас к услугам разработчиков – 25 различных плат Discovery для микроконтроллеров практически всех семейств (рисунок 2).

Рис. 2. Примеры наборов Discovery

Рис. 2. Примеры наборов Discovery

Платы Nucleo. Эти стековые палаты в первую очередь предназначены не для автономной работы, а для совместного использования с различными платами расширения в популярных стеках. Платы Nucleo-32 совместимы со стеком Arduino™ nano, платы Nucleo-64 и Nucleo-144  работают с Arduino™ Uno V3. Все платы имеют встроенный отладчик ST-LINK (рисунок 3).

Рис. 3. Наборы Nucleo

Рис. 3. Наборы Nucleo

Платы расширения для Nucleo. Эти платы не относятся напрямую к микроконтроллерам STM32, однако именно они расширяют функционал плат Nucleo. В качестве примера можно упомянуть программно-аппаратный комплекс на базе программного пакета BLUEMICROSYSTEM1, который работает со стеком из системных плат STM32 Nucleo-64 (NUCLEO-F401RE или NUCLEO-L476RG), платами расширения МЭМС-датчиков X-NUCLEO-IKS01A1 и платами Bluetooth X-NUCLEO-IDB04A1 или X-NUCLEO-IDB05A1 (рисунок 4).

Рис. 4. Пример реализации стека на базе STM32 Nucleo-64

Рис. 4. Пример реализации стека на базе STM32 Nucleo-64

Отладочные платы Evaluation Boards. Данный тип плат предназначен для максимально полного ознакомления с работой микроконтроллеров STM32 в конкретных приложениях (управление двигателем, мультимедийные системы и т.д.). На Evaluation Boards всегда присутствует богатый набор специализированной периферии: дисплеи, приемопередатчики, МЭМС-датчики, кодеки, память, драйверы и т.д. (рисунок 5).

Рис. 5. Пример отладочных плат от STMicroelectronics

Рис. 5. Пример отладочных плат от STMicroelectronics

Обзор бесплатных программных средств от STMicroelectronics

Экосистема STM32 предоставляет широкий выбор программных библиотек и средств разработки как от STMicroelectronics, так и от сторонних компаний. При этом фирменное ПО от ST обладает огромным преимуществом – оно бесплатное.

В настоящий момент STMicroelectronics и партнеры компании предлагают несколько бесплатных инструментов, которые значительно облегчают создание встраиваемого ПО для STM32: библиотеки нижнего и среднего уровня, различные специализированные утилиты, кодогенератор с графическим интерфейсом STM32CubeMX, интегрированные среды AC6 System Workbench (SW4STM32) и Atolic TrueStudio.

Библиотеки нижнего уровня. Для каждого семейства микроконтроллеров STM32 компания STMicroelectronics выпускает библиотеку HAL-драйверов. При их использовании разработчику приходится общаться не с отдельными регистрами и полями регистров, а с законченными функциями. Таким образом, отпадает необходимость в доскональном изучении архитектуры контроллера. Это с одной стороны сокращает время написания кода, а с другой стороны делает его более понятным.

Библиотеки среднего уровня. Кроме низкоуровневых драйверов STMicroelectronics предлагает использовать различные специализированные библиотеки, например, для создания файловой системы, для реализации операционных систем, для работы с USB и т.д.

Специализированные утилиты. STMicroelectronics создает небольшие программы, которые повышают комфорт работы с STM32. Например, утилита ST MCU Finder значительно упрощает выбор оптимального контроллера или отладочного набора.

STM32CubeMX – кодогенератор с графическим интерфейсом, который максимально упрощает настройку микроконтроллеров STM32. Этот инструмент имеет широкий функционал. STM32CubeMX позволяет (рисунок 6):

Рис. 6. Структура программной платформы STM32Cube

Рис. 6. Структура программной платформы STM32Cube

  • Создавать и редактировать проекты для микроконтроллеров STM32 с последующей генерацией С-кода для конкретных IDE (IAR™ EWARM, Keil™MDK-ARM, Atollic® TrueSTUDIO и AC6 System Workbench (SW4STM32));
  • Выбирать оптимальный микроконтроллер или отладочную плату с учетом особенностей конкретного приложения. Фильтрация производится по различным полям (серия, корпус, объем памяти и т.д.);
  • Конфигурировать выводы микроконтроллера с помощью утилиты Pin Wizard с возможностью формирования табличного файла csv для трассировщиков печатных плат;
  • Настраивать частоты глобальных тактовых сигналов и тактовых сигналов периферийных устройств с помощью утилиты Clock Wizard;
  • Настраивать параметры ПО промежуточного уровня (файловая система, стеки протоколов, операционные системы и т.д.) и периферийные блоки с помощью утилиты Perepherial and middleware Wizard (вкладка Configuration). При этом для генерации С-кода могут использоваться различные библиотеки от ST (HAL или LL);
  • Оценивать уровень потребления и срока службы аккумулятора при заданных настройках микроконтроллера с помощью утилиты Power consumption Wizard.

AC6 System Workbench (SW4STM32) – бесплатная интегрированная среда, используемая для разработки встраиваемого ПО для микроконтроллеров STM32. Она позволяет писать программы на С/С++, компилировать, загружать и отлаживать их. Основными достоинствами данной среды являются:

  • Поддержка всех семейств микроконтроллеров STM32;
  • поддержка фирменных отладочных наборов (STM32 Nucleo, Discovery и Evaluation boards);
  • Отсутствие ограничений на объем программного кода;
  • Бесплатный компилятор GCC C/C++;
  • Свободный отладчик GDB (проект GNU);
  • Возможность упрощенного портирования проектов между контроллерами STM32;
  • Поддержка групповой разработки встраиваемого ПО с системой контроля версий SVN/GIT.

При работе с SW4STM32 удобно использовать «скелеты» программ, создаваемые в STM32CubeMX (рисунок 7).

Рис. 7. Интерфейс AC6 System Workbench (SW4STM32)

Рис. 7. Интерфейс AC6 System Workbench (SW4STM32)

Новым пополнением в ряду бесплатных программных средств для STM32 стала интегрированная среда Atolic TrueStudio. Зачем нужна еще одна среда разработки, какие изменения ждут пользователей TrueStudio, и что может предложить новая IDE пользователям?

Atolic TrueStudio – новая бесплатная среда для STM32

Ранее компания ST уже оказала широкую поддержку компании AC6 и разрабатываемой ею бесплатной среде System Workbench. После этого ST продолжила двигаться в схожем направлении и приобрела компанию Atolic, которая занималась разработкой среды TrueStudio.

С первого взгляда это кажется не вполне логичным, однако, понять этот шаг можно. Дело в том, что AC6 System Workbench изначально была некоммерческим проектом, и ее функционал, видимо, не до конца устраивал ST. Теперь у компании появился серьезный и в то же время «карманный» проект, в котором в первую очередь будут учитываться интересы STM32.

Совсем недавно ST объявила о своих планах развития TrueStudio. Для пользователей наиболее значимыми будут следующие изменения:

  • В новых версиях TrueStudio останется возможность работы только с STM32;
  • Поддержка старых лицензионных версий TrueStudioPro продолжится в течение 1 года;
  • Новые версии TrueStudio станут бесплатными и будут обладать неограниченным функционалом TrueStudioPro.

Где скачивать и как устанавливать

Уже сейчас новая бесплатная версия TrueStudio доступна для скачивания с официального сайта разработчика: https://atollic.com/. Инструкция по скачиванию представлена в видеоролике, дополняющем данную статью.

Процесс установки TrueStudio максимально прост. Все необходимые блоки и модули входят в состав установщика. От пользователя потребуется минимум усилий при инсталляции. Краткая инструкция по установке также представлена в видеоролике.

Основные возможности TrueStudio

Программная платформа. TrueStudio является полноценной интегрированной средой разработки встраиваемого ПО для микроконтроллеров STM32 (рисунок 8). Внешне TrueStudio чрезвычайно похожа на AC6 System Workbench. Это не удивительно, так как обе среды используют платформу Eclipse. Сходство на этом не заканчивается. В основе TrueStudio лежат те же открытые проекты компилятора GCC и отладчика GDB.

Рис. 8. Интерфейс TrueStudio

Рис. 8. Интерфейс TrueStudio

Поддерживаемые микроконтроллеры. TrueStudio работает только с STM32 и поддерживает все микроконтроллеры семейства. Кроме того, в TrueStudio есть поддержка большинства плат от STMicroelectronics. Пользователь может открыть готовые демонстрационные проекты без скачивания каких-либо дополнительных файлов.

Работа с проектами. TrueStudio позволяет создавать и редактировать проекты, написанные на С/С++. Существует возможность создания дерева проектов, что весьма удобно при параллельной работе с несколькими приложениями.

Работа с файлами. TrueStudio предлагает к услугам пользователей стандартный набор инструментов для работы с С/С++-файлами: поиск, интерактивный поиск, контекстную подсветку, шаблоны, дерево функций и т.д.

Компиляция и построение проекта. Как было сказано выше, TrueStudio использует GCC для компиляции проекта. При этом возможна оптимизация кода в процессе компиляции.

TrueStudio дает пользователям возможность ручного размещения кода и данных в памяти микроконтроллера.

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

Отладка. TrueStudio поддерживает работу с использованием всех популярных отладчиков, в том числе, ST-Link, SEGGER, P&E micro и др.

Среда имеет поддержку точек останова и пошагового выполнения. В процессе отладки программист получает доступ ко всем регистрам и памяти. Кроме того к услугам пользователя также предлагаются различные анализаторы (памяти, стека, ошибок).

Стоит отметить, что процесс отладки в TrueStudio мало чем отличается от работы с другими аналогичными средами.

Поддержка систем контроля версий. TrueStudio обеспечивает одновременную работу нескольких пользователей над проектом за счет поддержки систем контроля версий: CVS, SVN, Git.

Взаимодействие с STM32Cube. Как было сказано выше, применение STM32Cube значительно упрощает работу программистов на этапе инициализации микроконтроллеров. Поэтому возможность совместной работы с STM32Cube является очень большим плюсом для TrueStudio.

STM32Cube позволяет создавать готовый проект TrueStudio с генерацией структуры проекта, автоматическим формированием исходников, включением всех необходимых директив.

Небольшой проект, демонстрирующий взаимодействие STM32Cube и TrueStudio, представлен в видеоролике, дополняющем данную статью. В этом проекте STM32Cube используется для настройки таймера TIM4, выходные каналы которого управляют яркостью светодиода с помощью ШИМ. Отладка выполняется с помощью TrueStudio и платы STM32F4DISCOVERY.

Заключение

В конце 2017 года компания STMicroelectronics объявила о покупке фирмы Atolic, выполнявшей разработку интегрированной среды TrueStudio. Теперь с помощью TrueStudio пользователи STM32 могут совершенно бесплатно создавать приложения любой сложности.

Большим плюсом TrueStudio является прямая поддержка STM32Cube.

Литература

  1. st.com.

Наши информационные каналы

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее