программировать через обычные USB.[2] Основным языком разработки для таких систем является язык СИ, ассемблер (используется редко), так же возможно и использование высокоуровневых языков таких как C++, Python, Java. Но для этого требуется больше вычислительной мощности, поэтому они более популярны на одноплатных компьютерах.
Однако часто встраиваемые системы используют операционные системы, адаптированные к встроенному использованию, особенно там, где должны обслуживаться операционные среды реального времени (Linux embedd, windows embedded, open wrt, rtos)/.
Как правило, для хранения программ и операционных систем на встроенных устройствах используется либо флэш-память, либо перезаписываемая флэш-память.
Список литературы
1. Embedded System Design Issues. [Электронный ресурс]. Режим доступа: http://users.ece.cmu.edu/~koopman/iccd96/iccd96.html/ (дата обращения: 27.09.201).
2. Better Embedded System SW. [Электронный ресурс]. Режим доступа: https://betterembsw.blogspot.com/ (дата обращения: 27.09.201).
ГРАФИЧЕСКАЯ БИБЛИОТЕКА LITTLEVGL
ДЛЯ ВСТРАИВАЕМЫХ СИСТЕМ 1 2 Петров А.А. , Кольманович А.С.
1Петров Алексей Александрович - магистрант; 2Кольманович Антон Сергеевич - магистрант, кафедра систем автоматического контроля и управления, Национальный исследовательский университет «Московский институт электронной техники», г. Зеленоград
Аннотация: LittlevGL представляет собой библиотеку с открытым исходным кодом, написанную на языке СИ, предназначенную для создания графических интерфейсов пользователя (GUI) для встраиваемых систем. Идеально подходит для вычислительных устройств со слабой вычислительной мощностью, нетребовательна к памяти. В состав библиотеки входят дополнительные инструменты, такие как: обработчики аппаратных прерываний, виртуальная клавиатура, поддержка сенсорных экранов, использование фреймбуфера (для Linux embedded).
Ключевые слова: LittlevGL, графическая библиотека, встраиваемые системы.
LittlevGL - бесплатная графическая библиотека с открытым исходным кодом, обеспечивающая все необходимое для создания встроенного графического интерфейса с удобными графическими элементами, красивыми визуальными эффектами и малым объемом памяти [1].
Данная библиотека поддерживает все основные графические элементы входящие в состав любой визуальной программы. Стоит отметить, что в состав входят специфичные элементы, не входящие в стандартный набор объектов других библиотек, это line meter (рисунок 1) и guage (рисунок 2) [1].
I 36 I
I 90% I
30% =60% I 190% 5
Рис. 1. Line meter
О 100^
Рис. 2. Guage
Преимущества:
1. Открытый исходный код. Полная свобода действий, возможность изменять существующие графические объекты.
2. Низкое требование к вычислительной способности. Данная библиотека рассчитана в первую очередь на встраиваемые системы.
3. Малый объем памяти. Встраиваемые системы (контроллеры, одноплатные компьютеры) не обладают большим объемом памяти.
4. Примеры. На официальном сайте представлено большое количество проектов созданных с использованием библиотеки LittlevGL.
5. Выбор средства вывода. Есть возможно вывести изображение в фреймбуфер.
6. Эмуляция. При установке SDL на хостовую ЭВМ, представляется возможность вывода графики на хостовой машине, позже с кросс-компилировав проект, можно запустить на целевой машине. Это очень большое преимущество по сравнению с другими библиотеками.
Недостатки:
1. Обработка изображений. В случае необходимости вывести изображения, разработчик столкнется с рядом проблем. Во-первых это необходимости преобразования изображения, с помощью инструмента Image Convertor (https://littlevgl.com/image-to-c-array), в массив пикселей.
2. Шрифты. Изначально в библиотеке используется малое количество шрифтов, но есть возможно добавления нового с указанием его размера (в пикселях), для этого необходимо шрифт в формате TFT преобразовать с помощью Font Converter (https://littlevgl.com/ttf-font-to-c-array) в массив пикселей. Добавить название шрифта в lv_conf.h.
3. Отсутствие масштабирования. Позиция каждого элемента задается в ручную. В случае изменения размера экрана, предстоит изменить координаты всех объектов.
Вывод: графическая библиотека LittlevGL представляет собой мощный инструмент для разработки примитивных оконных приложений.
Список литературы
1. Embedded GUI Using Linux Frame Buffer Device with LittlevGL. [Электронный
ресурс]. Режим доступа: https://littlevgl.com/blog/23/embedded-gui-using-linux-
frame-buffer-device-with-littlevgl/ (дата обращения: 13.09.2018).
I 37 |