Тип работы:
Предмет:
Язык работы:


Разработка графической подсистемы для встроенных систем

Работа №127366

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы31
Год сдачи2017
Стоимость4750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
32
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Основные понятия 7
2.2. Существующие графические подсистемы 9
2.3. Компоненты графических подсистем 14
3. Архитектура конфигурируемой графической подсисте¬мы 19
4. Особенности реализации 21
4.1. Операционная система 21
4.2. Графическая библиотека 22
4.3. Рендерер 22
5. Апробация 25
5.1. Апробация на виртуальной машине QEMU 25
5.2. Апробация на STM32F746G Discovery 27
Заключение 29
Список литературы 30

В последнее время почти каждый день любой человек сталкивается со встраиваемыми системами: на работе многие используют факсаппараты, в больнице испытывают на себе системы компьютерной томографии и ультразвукового исследования, в магазине видят кассовые аппараты, на улице едва замечают системы наблюдения, в машине включают навигацию GPS, дома открывают умный холодильник,
а на руке носят умные часы. Данный список не раскрывает использования встроенных систем ещё во многих областях деятельности человека,
но показывает, что встроенные системы получили большое значение в
жизни современного человека. В связи с этим одной из главных задач
разработки встраиваемых систем является реализация интуитивно понятного интерфейса пользователя.
Так как встраиваемые системы решают задачи из огромного спектра задач человеческой деятельности, то каждое устройство или тип
устройства должен иметь специализированный интерфейс, который будет отвечать нуждам определенного круга людей. Например, все кассиры должны уметь пользоваться кассовыми аппаратами, которые показывают информацию о товарах, их цену и окончательную стоимость.
Вся функциональность ограничивается кнопками типа ”убрать товар
из корзины” или ”рассчитать стоимость”. Второй пример – умные часы
– обычно требуют всего одну кнопку – кнопку переключения между
режимами показа времени, калорий, пройденных шагов и других параметров. Итого, имеем экран с множественной информацией и несколькими действиями над ней и маленький экран с содержанием малого
количества информации и всего один действием. Отсюда видно, что
необходимы разные подходы к созданию интерфейсов.
Для создания таких интерфейсов нужны универсальные средства
разработки, которые, в свою очередь, влекут за собой увеличение потребления других ресурсов, таких как память или энергопотребление.
Например, для создания тонких и маленьких умных часов дополнительная память в размере карты памяти увеличит желаемые размеры.
4Существует другой путь создания графического интерфейса для
встраиваемых систем – создавать их с нуля. Этот путь значительно
увеличит время и стоимость продукта, а также потребует занятость
людей с определенными навыками.
Таким образом, постоянно возникает проблема: для каждого устройства необходимо создавать графическую подсистему, подходящую под
специфичные характеристики и функциональность, выбирая один из
двух путей, который потребует меньших затрат.
Одним из возможных решений является создание конфигурируемой
графической подсистемы для каждого класса устройств, где конфигурируемость обозначает возможность описания устройства и указания
параметров подсистемы для него с целью запуска одного и того же графического приложения на различных устройствах выбранного класса.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В данной работе были выполнены следующие задачи:
• Произведен обзор существующих архитектур (X Window System,
Wayland, Nano-X, DirectFB), спецификации API (OpenGL, Vulkan,
Glide) и графических библиотек (Nuklear, STML, NanoVG, ImGui,
TIGR).
• Разработана архитектура конфигурируемой графической подсистемы.
• Выполнена реализация архитектуры на языке С, произведена интеграция со встраиваемой ОС Embox.
• Произведена апробация на виртуальной машине QEMU и на отладочной плате STM32F746G Discovery.


[1] Barrett Sean. Single-file public-domain/open source libraries with minimal dependencies.— URL: https://github.com/nothings/ single_file_libs (online; accessed: 19.03.2017).
[2] Cornut Omar. Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.— URL: https://github.com/ ocornut/imgui (online; accessed: 07.03.2017,).
[3] Embox. Modular and configurable OS kernel for embedded applications.— URL: https://github.com/embox/embox (online; accessed: 20.05.2017).
[4] Fast Light Toolkit.— URL: http://www.fltk.org/index.php (online; accessed: 06.03.2017,).
[5] Haerr Gregory. The Microwindows Project. Enabling graphical applications on embedded Linux systems.— URL: http:// www.microwindows.org/MicrowindowsPaper.html (online; accessed: 24.02.2017).
[6] Mettke Micha. A single-header ANSI C gui library. — URL: https: //github.com/vurtun/nuklear (online; accessed: 14.03.2017,).
[7] Microsoft. Retained Mode Versus Immediate Mode. — URL: https://msdn.microsoft.com/en-us/library/windows/desktop/ ff684178(v=vs.85).aspx (online; accessed: 10.05.2017).
[8] Mitton Richard. TIRG Overview.— URL: https://bitbucket.org/ rmitton/tigr/overview (online; accessed: 21.04.2017).
[9] Mononen Mikko. nanoVG. — URL: https://github.com/memononen/ nanovg (online; accessed: 06.03.2017,).
[10] QEMU. QEMU—The fast processor emulator.— URL: http://www. qemu.org/ (online; accessed: 20.04.2017).
[11] STMicroelectronic. 32F746GDISCOVERY—Discovery kit with STM32F746NG MCU.- URL: http://www.st.com/en/ evaluation-tools/32f746gdiscovery.html.
[12] Wayland. Wayland Architecture.— URL: https://wayland. freedesktop.org/architecture.html (online; accessed: 16.10.2016).
[13] Wiki Embedded Linux. DirectFB.- URL: http://elinux.org/ DirectFB (online; accessed: 24.12.2016).
[14] Wikipedia. Framebuffer.— URL: https://en.wikipedia.org/wiki/ Framebuffer (online; accessed: 22.10.2016).
[15] Wikipedia. List of platform-independent GUI libraries. — URL: https: //en.wikipedia.org/wiki/List_of_platform-independent_GUI_ libraries (online; accessed: 03.03.2017).
[16] Wikipedia. List of rendering APIs. — URL: https://en.wikipedia. org/wiki/List_of_rendering_APIs (online; accessed: 28.02.2017).
[17] Wikipedia. List of widget toolkits.— URL: https://en.wikipedia. org/wiki/List_of_widget_toolkits (online; accessed: 22.03.2017).
[18] Wikipedia. X Window System. — URL: https://en.wikipedia.org/ wiki/X_Window_System (online; accessed: 12.10.2016).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ