• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Разработка графических устройств на STM32. Выбираем графическую библиотеку

Предлагаем вашему вниманию обзор графических библиотек, позволяющих упростить и ускорить вывод на рынок готового изделия. Рассмотрены универсальная библиотека STemWin и более сложные, но предназначенные для топовых серий STM32 библиотеки Embedded wizard и TouchGFX.


Микроконтроллеры STM32 популярны среди отечественных разработчиков благодаря хорошему сочетанию цены, производительности, набора периферийных устройств и интерфейсов. Тенденции рынка встраиваемых устройств таковы, что во многих случаях требуется наличие графического пользовательского интерфейса или, как минимум, интуитивно понятное отображение данных или визуализации процессов. С аппаратной точки зрения в семействе STM32 представлены микроконтроллеры со специализированными периферийными блоками, которые используются для работы с TFT-дисплеями: FSMC, LTDC, DSIHOST, Chrom-ART Accelerator, Chrom-GRC и JPEG-кодек. Во многих случаях они позволяют существенно разгрузить процессорное ядро.

При разработке устройств с графическим интерфейсом перед разработчиком встает проблема выбора между реализацией собственных графических примитивов и библиотек, и применением готовых библиотек. Первый путь приведет к необходимости написания кода для отрисовки двух-/трехмерных объектов, реализации функций прозрачного слоя, решению вопросов наложения объектов в трехмерных сценах и многому другому, не считая необходимости реализации низкоуровневых драйверов. Применение готовых библиотек потребует от разработчика перехода к определенному стилю кода, характерному для целевой библиотеки. Дополнительно разработчику необходимо будет изучить специфику работы с готовой библиотекой – порядок инициализации функций и структур данных, наличие callback-функций, задействованные ресурсы контроллера.

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

Обзор графических библиотек>>
 

Вложения

Сверху Снизу