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

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

st.png (2 KB)Совсем недавно компания 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):

  • Производительные семейства: STM32F2, STM32F4, STM32F7, STM32H7;
  • Базовые семейства общего назначения: STM32F0, STM32F1, STM32F3;
  • Малопотребляющие семейства: STM32L0, STM32L1, STM32L4;
  • Беспроводные микроконтроллеры семейства

 

Портфолио микроконтроллеров STM32 от ST

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

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

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

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

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

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

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

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

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

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

Структура программной платформы 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).

Интерфейс 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.

Интерфейс 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.

Производитель: STMicroelectronics
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
STM32F100C8T6B
STM32F100C8T6B
STMicroelectronics
Арт.: 567537 ИНФО PDF AN RD DT
Доступно: 568 шт. от: 171 руб.
Микроконтроллер - [LQFP-48]; Ядро: ARM Cortex-M3, 32-бит; FLASH: 64 КБайт; RAM: 7.875 КБайт; АЦПканалов: 16; АЦПразр: 12; АЦПскорость: 833 кГц
STM32F100C8T6B 171,00 от 23 шт. 147,00 от 51 шт. 132,00 от 110 шт. 122,00 от 250 шт. 116,00
568 шт.
(на складе)
STM32L151CBT6
STM32L151CBT6
STMicroelectronics
Арт.: 608209 ИНФО PDF AN RD DT
Доступно: 189 шт. от: 349 руб.
ARM Microcontrollers - MCU 32-Bit Arm Cortex M3 128kb UltralowPower
STM32L151CBT6 349,00 от 12 шт. 299,00 от 25 шт. 269,00 от 54 шт. 249,00 от 141 шт. 237,00
189 шт.
(на складе)
STM32F205RET6
STM32F205RET6
STMicroelectronics
Арт.: 670340 ИНФО PDF AN RD DT
Доступно: 204 шт. от: 322 руб.
ARM Microcontrollers - MCU 32BIT ARM Cortex M3 Connectivity 512kB
STM32F205RET6 322,00 от 12 шт. 276,00 от 27 шт. 249,00 от 58 шт. 230,00 от 160 шт. 219,00
204 шт.
(на складе)
STM32F407VGT6
STM32F407VGT6
STMicroelectronics
Арт.: 855684 ИНФО PDF AN RD DT
Доступно: 132 шт. от: 497 руб.
Микроконтроллер - [LQFP-100]; Ядро: ARM Cortex-M4, 32-бит; FLASH: 1 МБайт; RAM: 192 КБайт; Display: 6800/8080; АЦПканалов: 24; АЦПразр: 12
STM32F407VGT6 497,00 от 8 шт. 426,00 от 18 шт. 383,00 от 38 шт. 355,00 от 90 шт. 337,00
132 шт.
(на складе)
STM32F303CBT6TR
STMicroelectronics
Арт.: 1291536 PDF AN RD DT
Доступно: 503 шт. от: 131 руб.
ARM Microcontrollers - MCU Analog and DSP FPU ARM Cortex-M4 MCU
STM32F303CBT6TR 131,00 от 20 шт. 131,00 от 43 шт. 131,00 от 92 шт. 131,00 от 241 шт. 131,00
503 шт.
(на складе)
STM32L051C8T6
STM32L051C8T6
STMicroelectronics
Арт.: 1345144 PDF AN RD DT
Доступно: 771 шт. от: 126 руб.
ARM Microcontrollers - MCU 16/32-BITS MICROS
STM32L051C8T6 126,00 от 31 шт. 108,00 от 68 шт. 97,50 от 147 шт. 90,00 от 385 шт. 85,50
771 шт.
(на складе)
STM32F030K6T6TR
STM32F030K6T6TR
STMicroelectronics
Арт.: 1348770 ИНФО PDF AN RD DT
Доступно: 1495 шт. от: 65 руб.
Высокопроизводительный микроконтроллер с широким спектром периферийных устройств. Ядро ARM Cortex-M0, 32-разряда, 48 МГц, Flash-память 32 КБ, корпус LQFP-32
STM32F030K6T6TR 65,00 от 60 шт. 55,50 от 132 шт. 50,00 от 285 шт. 46,40 от 748 шт. 44,10
1495 шт.
(на складе)
STM32F745ZGT6
STM32F745ZGT6
STMicroelectronics
Арт.: 1934823 ИНФО PDF AN RD RND DT
Доступно: 81 шт. от: 813 руб.
ARM Microcontrollers - MCU High-performance and DSP with FPU, ARM Cortex-M7 MCU with 1 Mbyte Flash, 216 MHz CPU, Art Accelerator, L1 cache,SDRAM;
STM32F745ZGT6 813,00 от 6 шт. 697,00 от 12 шт. 627,00 от 24 шт. 580,00 от 60 шт. 551,00
81 шт.
(на складе)
STM32L476VGT6
STM32L476VGT6
STMicroelectronics
Арт.: 1938739 ИНФО PDF AN RD DT
Доступно: 225 шт. от: 293 руб.
ARM Microcontrollers - MCU Ultra-low-power with FPU ARM Cortex-M4 MCU 80 MHz with 1 Mbyte Flash, LCD, USB OTG
STM32L476VGT6 293,00 от 8 шт. 293,00 от 18 шт. 293,00 от 37 шт. 293,00 от 100 шт. 293,00
225 шт.
(на складе)
STM32H743VIT6
STM32H743VIT6
STMicroelectronics
Арт.: 2302623 ИНФО PDF AN RD RND DT
Доступно: 89 шт. от: 1080 руб.
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743VIT6 1080,00 от 4 шт. 927,00 от 8 шт. 835,00 от 20 шт. 773,00 от 40 шт. 734,00
89 шт.
(на складе)

Сравнение позиций

  • ()