Поиск по каталогу

Библиотека онлайн

K004192 Дипломная работа Побудова графічного інтерфейсу користувача для вбудованих систем

3400 руб. 1890 руб.
В корзину

ЗМІСТ

ВСТУП 8

РОЗДІЛ 1. Побудова графічного інтерфейсу користувача для вбудованих систем 9

1.1. Специфічні властивості і проблематика вбудованих систем 9

1.2. Загальний огляд інтегрованих середовищ розробки для вбудованих систем. Інтегроване середовище розробки KeiluVision. 11

1.3. Огляд бібліотек для створення графічного інтерфейсу 12

1.4. Графічна бібліотека emWin 13

1.5. Поради при розробці графічного інтерфейсу користувача 15

1.6. Проблеми при створенні графічного інтерфейсу 15

РОЗДІЛ 2. ПОСТАНОВКА ЗАВДАННЯ ТА СПЕЦИФІКАЦІЯ ВИМОГ ДО ФУНКЦІЇ ГЕНЕРАЦІЇ ШАБЛОНІВ ГРАФІЧНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА 17

2.1. Вхідні дані 17

2.2. Вихідні дані 17

2.3. Специфікація вимог до універсальної функції генерації шаблонів графічного інтерфейсу користувача для вбудованих систем на основі STM32F4 з сенсорними дисплеями 17

РОЗДІЛ 3. ПРОЕКТУВАННЯ ФУНКЦІЇ ГЕНЕРАЦІЇ ШАБЛОНІВ ГРАФІЧНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА ДЛЯ ВБУДОВАНИХ СИСТЕМ 23

3.1. Архітектура системи 23

3.2. Загальний принцип побудови графічного інтерфейсу користувача з допомогою графічної бібліотеки emWin. 24

3.3. Проектування шаблонів графічного інтерфейсу 25

3.4. Визначення структур даних 29

3.5. Опис алгоритму 31

РОЗДІЛ 4.РЕАЛІЗАЦІЯ УНІВЕРСАЛЬНОЇ ФУНКЦІЇ ГЕНЕРАЦІЇ ШАБЛОНІВ ГРАФІЧНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА 33

4.1. Реалізація функції генерації шаблону екрану з двома колонками графічного інтерфейсу користувача 33

4.2. Реалізація функції генерації шаблону екрану параметрів графічного інтерфейсу користувача 36

4.3. Реалізація функції генерації шаблону екрану інформаційних повідомлень графічного інтерфейсу користувача 37

4.4. Тестування функцій генерації шаблонів графічного інтерфейсу користувача 39

4.5. Оцінка ефективності функції генерації шаблону графічного інтерфейсу користувача 42

РОЗДІЛ 5. ЕКОНОМІЧНА ОЦІНКА 44

5.1. Економічна характеристика проектного рішення 44

5.2. Інформаційне забезпечення та формування гіпотези щодо потреби розроблення універсальної функції генерації шаблонів графічного інтерфейсу користувача для вбудованих систем на основі STM32F4 з сенсорними дисплеями. 45

5.3. Оцiнювання та аналiзування факторiв зовнiшнього та внутрiшнього середовищ 47

5.4. Формування стратегiчних альтернатив 49

5.5. Бюджетування 51

5.6. Остаточний вибiр стратегiї 55

ВИСНОВКИ 57

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 58

ДОДАТКИ 60

Додаток А. Блок-схема алгоритму генерації шаблонів екранів 60

Додаток Б. Вихідний код програм 61

Додаток В. Інструкція користувача 65


ВСТУП

Вбудовані системи мають обмежені апаратні ресурси, зокрема, доволі малі обсяги пам'яті мікроконтролерів, що є центральними пристроями більшості вбудованих систем. Конкурентоздатність вбудованих систем безпосередньо залежить не лише від реалізованого функціоналу, але й від якості графічного інтерфейсу користувача, код якого, як відомо, вимагає чимало ресурсів. Спостерігаючи еволюцію інтерфейсу вбудованих систем, можна побачити поступовий перехід від простих текстових інтерфейсів на дисплеях, що підтримували лише відтінки сірого, до розвинених графічних інтерфейсів на сенсорних дисплеях, з графічними елементами, до яких звикли користувачі комп'ютерів. Розробникам вбудованих систем часто надається можливість зосередитися на бізнес-логіці, оскільки вирішення рутинних задач, притаманних будь-якому проекту з розроблення мікропрограмного забезпечення, існують і розвиваються у готових бібліотеках.

Сучасні графічні бібліотеки для вбудованих систем володіють рядом переваг і істотно скорочують час розробки, однак, вони пропонують лише графічні елементи, з яких розробник повинен сконструювати графічний екран самостійно, але не самі шаблонні екрани. Водночас часто в розташуванні елементів у різних екранах графічного інтерфейсу можна виділити ряд спільних рис, тобто, можна класифікувати екрани за «топологіями». Це наводить на ідею створити замість розрізнених екранів шаблонний код, що налаштовується під потребу розробника за допомогою ряду параметрів. Існування шаблонів могло б дозволити зменшити обсяг коду графічного інтерфейсу у проекті і зусилля на тестування за рахунок повторного використання вже наявного, добре верифікованого програмного рішення. Проблема виникла з практичного досвіду автора при програмуванні вбудованого ПЗ для мікроконтролера серії stm32f4. Огляд літературних джерел виявив відсутність готових рішень окресленої проблеми, а приблизним аналогом є SEGGER GUIBuilder.

За рахунок результатів даної бакалаврської роботи планується поліпшити процес розроблення вбудованого ПЗ для мікроконтролерів серії stm32f4. 

РОЗДІЛ 1. ПОБУДОВА ГРАФІЧНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА ДЛЯ ВБУДОВАНИХ СИСТЕМ

1.1. Специфічні властивості і проблематика вбудованих систем

Вбудована система відрізняється від комп’ютера вузькоспеціалізованим призначенням (на противагу універсальності комп’ютера) та обмеженими програмними та апаратними ресурсами [1], хоча різниця в обсязі ресурсів між вбудованими системами та комп’ютерами поступово стирається. Прикладами вбудованих систем з повсякденного життя є банкомати, платіжні термінали, мобільні телефони, GPS-навігатори, цифрові фотоапарати та інша «інтелектуальна» побутова та офісна техніка. Є вбудовані системи і в транспортних засобах та медичному обладнанні.

Основою вбудованої системи є зазвичай мікроконтролер («мозок» системи), «вбудований» в апаратну частину, якою він керує (сукупність периферійних пристроїв). Вбудоване програмне забезпечення (вбудоване ПЗ, firmware, «прошивка») – код програми, щовиконується на мікроконтролері («свідомість» вбудованоїсистеми). Апаратні обмеження – це передусім малий обсяг внутрішньої постійної (ROM) та оперативної (RAM) пам’яті. Вони ж тягнуть за собою і програмні обмеження – вбудоване програмне забезпечення може виконуватися без управління операційної системи, «прямо на залізі» або ж під управлінням полегшених, урізаних версій операційних систем (ОС). Часто до вбудованих систем висуваються підвищені вимоги щодо часу відгуку, а урізані ОС є ОС реального часу. Завершують низку специфічних властивостей вбудованих систем особливі вимоги до якості коду. Оскільки у вбудованій системі дефект може нести ризик для здоров’я людей та цілісності майна, вбудоване ПЗ має відповідати правилам MISRA (на додаток до інших стандартів), що на підставі сукупного практичного досвіду визначають, які конструкції мов С/С++ не бажано застосовувати у вбудованому ПЗ внаслідок їхньої неоднозначності та непередбачуваності [2]. Левова частка вбудованого ПЗ написана мовами С/С++ [3]. Для розроблення вбудованого ПЗ потрібні спеціалізовані середовища, для завантаження коду у мікроконтролер – програматор.Процеси відлагодження та тестування вбудованого ПЗ теж відрізняються від аналогічних процесів для застосунків для ПК.

Мікроконтролери відрізняються за архітектурами і кожна архітектура може реалізовуватися низкою різних виробників. Популярною є архітектура ARM, що утримує близько 75 % ринку [4]. Архітектура розроблена компанією ARMLimited, яка, однак, не займається безпосереднім виробництвом, а надає ліцензію на це іншим компаніям, зокрема, компанії STMicroelectronics [5].

STMicroelectronics – одна з найбільшихєвропейських компаній, що займається розробленням, виготовленням і торгівлею різноманітниминапівпровідниковимикомпонентами. Частка, яку займає компанія на ринку мікроелектромеханічних систем, становить 48% [6].

Мікроконтролери серії stm32F4 від STMIcroelectronics включають в себе широкий набір інтерфейсів і відносно великий обсяг внутрішньої пам’яті: Cortex-M4 з частотою процесора до 168 МГц, Flash пам’ять об’ємом до 1024 кБ, SRAM пам’ять – до 192 кБ, годинник реального часу (RTC) та велику кількість таймерів, Ethernet інтерфейс, USB Full-Speed OTG, USB High-Speed OTG, наступні інтерфейси комунікації: UART, I2C, CAN, SPI/2, I2S, EMI, 12-бітний АЦП, 12-бітний ЦАП, інтерфейс карт SD, інтерфейс відеокамери, вбудований температурний датчик, модуль шифрування (AES).

Попри обмеження ресурсів, вбудовані системи повинні «йти в ногу з часом», причому, конкуренція на ринку зумовлює еволюцію усіх аспектів вбудованих систем, зокрема і графічного інтерфейсу користувача (ГІК).

ГІК – тип інтерфейсу, що дає змогукористувачамвзаємодіятиз електронними пристроями через графічні зображення та візуальні вказівки, на відміну від текстових інтерфейсів, заснованих на використанні тексту, текстовому наборі команд та текстовій навігації. Виконання дій в ГІК– безпосередня маніпуляція з графічними елементами [7].

Перші вбудовані системи взаємодіяли з користувачам за допомогою простих текстових повідомлень у відтінках сірого і механічних кнопок. Сучасні системи нерідко оснащені кольоровими сенсорними дисплеями, на яких можна побачити традиційні для комп’ютера графічні елементи – кнопки, текстові поля, прапорці та перемикачі, списки, смуги прокручування, повзунки і навіть календар і повноцінні зображення.Як і для інших сфер програмування, опорою для проектування та реалізації ГІК розробникам слугують готові бібліотеки та досвід, накопичений іншими розробниками.

1.2. Загальний огляд інтегрованих середовищ розробки для вбудованих систем. Інтегроване середовище розробки KeiluVision.

Інтегровані середовища для розроблення вбудованого ПЗ, як вже відзначалося, відрізняються від інтегрованих середовищ розроблення застосунків для ПК. Зазвичай середовище підтримує цільового виробника або певну лінійку процесорів [8]. З-поміж спеціалізованих середовищ розроблення для вбудованих систем популярними є GNU ARM Eclipse, mbeddr, Code::Blocks, AVR Studio, CoIDE, CodeComposerStudio, PSoCCreator, Keil uVision. Кожне з цих середовищ розробки має ряд переваг і недоліків.

На даний момент одним з найпопулярніших середовищ розробки для вбудованих систем є KeiluVision. Вонопоєднує в собіможливостіуправління проектами, можливістьзбірки проекта, можливістьредагуваннявихідного коду та можливістьвідлагодженняпрограми.

Є типовізадачі, щовиникають при розробленні усіх без виняткувбудованих систем. Наапаратному рівнівбудована система – цемікроконтролер та периферійніпристрої (дисплей, клавіатура, зовнішняпостійнапам’ятьтощо), і для взаємодіїмікроконтролера з периферійнимипристроямивикористовуєтьсястандартний ряд інтерфейсів (SPI, I2C, UART/USART, USBтощо). Для уникнення повторного написанняпрограмнихкодів, щореалізуютьназваніінтерфейси, існуютьготовібібліотеки, щопостачаютьсярізнимивиробниками. Деякібібліотекизадумувалися як універсальні, наприклад, поширенабібліотекаCMSIS [9] розшаровується на двічастини – спільну для всіхмікроконтролерів та специфічну для продукціїрізнихвиробників. Про спільнучастинудбаєкомпаніяARMLimited, а специфічнимичастинамидоповнюютьбібліотекуокремівиробники. Існують і спеціалізованібібліотеки, розробленівиробникамимікроконтролерів для застосування виключно у проектах для «своїх» мікроконтролерів. Зокрема, спеціалізованою є бібліотека StandardPeripheralsLibrary[10]. Бібліотеки відрізняються між собою способом організації, стилем оформлення змінних і функцій, розміром коду та кількістю файлів, які необхідно підключити у проект для роботи з бібліотекою, кількістю відомих дефектів, повнотою сумісності з правилами MISRA та іншими ознаками, тому на вибір бібліотеки впливає як модель мікроконтролера, так і характер проекту. Більше того, виробники середовищ розроблення вбудованого програмного забезпечення можуть не виготовляти мікроконтролери, проте спеціалізуватися на виготовленні програматорів і розробленні бібліотек. Зокрема, компанія Keil не лише розробила середовище KeiluVision і займається його супроводом, але й виготовляє програматори та розвиває бібліотеку HAL [11].

Таким чином, вибір мікроконтролера часто тягне за собою вибір тих чи інших засобів розроблення вбудованого ПЗ, і зрештою, вибір якоїсь окремої спеціалізованої бібліотеки є наслідком ланцюга раніше прийнятих рішень.

1.3. Огляд бібліотек для створення графічного інтерфейсу

На ринку вбудованих систем існує велика кількість бібліотек для створення графічного інтерфейсу користувача. Ось деякі з них:

• Бібліотека µGFX

Дана бібліотека являє собою простий інструмент для створення графічного інтерфейсу користувача для вбудованих систем з використанням дисплеїв. µGFX також підтримує сенсорні дисплеї. Ця бібліотека є надзвичайно малою і швидкою. Як зазначають розробники, перевагами цієї бібліотеки є простота, модульність, портативність, відкритість вихідних файлів, підтримка всіх типів дисплеїв, підтримка багатопоточності. Бібліотека реалізована мовою С, є безкоштовною для некомерційних цілей, міститьблизько 50 драйверів для різнихвбудованих систем.У даний час над бібліотекою ведеться активна робота. Разом з бібліотекою постачається ПК інструмент для швидкого створення графічного інтерфейсу користувача.

• Microchip Graphic Library

MicrochipGraphicLibrary – це бібліотека, яка має модульну конструкцію та може бути використана лише для 16-ти та 32-ох бітних мікроконтролерів компанії Microchip. Дана бібліотека є безкоштовною для клієнтів компанії Microchip, вона є простою у використанні, а також містить у собі повну документацію. Бібліотека надає такі можливості:

 Можливість використання готових графічних об’єктів;

 Підтримка декількох мов та шрифтів;

 Повна інтеграція з USB, бездротовим підключенням до мережі та інших бібліотек від Microchip для додатків.

Разом з цією бібліотекою постачається настільний застосунок для швидкого створення графічного інтерфейсу користувача.

• Графічна бібліотека µGUI

Бібліотека µGUI – це безкоштовна бібліотека для створення графічного інтерфейсу користувача, яка містить відкриті вихідні файли. Дана бібліотека є незалежною від платформи і може бути використана у майже будь-яких вбудованих системах. Бібліотека підтримує дисплеї LCD, TFT, E-Paper, LED або OLED. Ціла бібліотека складається лише з двох файлів. µGUI є доволі малою бібліотекою, яка надає можливості лише для створення зовсім примітивного графічного інтерфейсу користувача.

• Графічна бібліотека easyGUI

easyGUI – це написана мовою С бібліотека для розробки графічного інтерфейсу користувача для вбудованих систем. Дозволяє швидко та ефективно створювати графічні інтерфейси, підтримує практично всі кольорові і монохромні дисплеї, компілятори та мікроконтролери. Особливості бібліотеки: підтримка стандарту Unicode, економне використанняRAM/ROM, численні графічні компоненти, підтримка глибини кольору до 24 біт на піксель.

1.4. Графічна бібліотека emWin

Дана бібліотекавключає в собівсіперевагипереліченихвищеграфічнихбібліотек, а такожнадає ряд особливихможливостей, описанихнижче.

Графічна бібліотека emWin призначена для створення ефективного графічного інтерфейсу користувача для будь-якого процесора і будь-якого LCD-дисплея [12].

Вона підтримує однозадачні та багатозадачні середовища з будь-якими операційними системами реального часу. БібліотекаemWinпостачається як C- код і може бути адаптована під будь-який розмір фізичного чи віртуального дисплею з будь-яким LCDта процесором. Особливостібібліотеки:

• Будь-який 8/16/32-бітний процесор; потрібен лишекомпілятор, який підтримує стандарт ANSIC;

• Будь-який LCD-дисплей з будь-яким контролером;

• Можепрацювати без LCD-контролера на малих дисплеях;

• ПК інструмент для детального зображеннявсіхшарів симулятора;

• Підтримка будь-якогоінтерфейсу за рахунокконфігураційнихмакросів;

• Можливістьналаштуватирозмір дисплею;

• Символи та растрові зображення можуть бути виведені в будь-якій точці на LCD-дисплеї;

• Для повільнішихLCD-контролерів, зображення екрану може зберігатися в кеш-пам’яті, це дозволяє зменшити затрати для доступу до мінімуму та збільшити саму швидкість доступу до зображення до максимуму;

• Чітка структура;

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

Основною перевагоюграфічноїбібліотекиSEGGERemWin є те, що її офіційно підтримує та надає в користування середовище розробки KeiluVision, а також і те, що ця бібліотека безкоштовна для тих, хто розробляє вбудоване програмне забезпечення для мікроконтролерів виробництва STMicroelectronics. Не менш важливою перевагою є широкі функціональні можливості бібліотеки, повна документація, підтримка Unicode та безкоштовне надання інструментів для спрощення роботи з графічною бібліотекою.

1.5. Поради при розробці графічного інтерфейсу користувача

Вбудовані системи мають володіти інтуїтивно зрозумілим графічним інтерфейсом користувача, що надає можливість легко використовувати всі можливості системи. При розробці ГІК слід враховувати набутий досвід користувача та тенденції на ринку графічних інтерфейсів, водночас ГІК кожного застосунку повинен мати свій унікальний стиль.

Користувач повинен мати можливість налаштувати графічний інтерфейс відповідно до свого місцезнаходження. Мається на увазі, можливість змінити дату, час, одиниці вимірювань, одиницю валюти і так далі. Також користувач повинен мати можливість змінити мову “на ходу”. Зміст ГІК повинен відображати тільки статичну інформацію, або комбінацію статичних і динамічних елементів.Рішення щодо ГІК повинні відповідати багатоплатформним стандартам.Очевидно, що графічний інтерфейс повинен мати зв’язок з прикладною програмою, але у вбудованих системах, зв’язок повинен також надавати певний захист для прикладного рівня. Таким чином, ГІК не зможе вплинути на продуктивність застосунку в реальному часі.

Зрозуміло, що на відміну від ринку ПК систем, не існує такого рішення у сфері ГІК, яке б задовільнило повністю всі графічні вимоги вбудованих систем. Найкращим рішенням для ГІК для вбудованих систем забезпечує гнучкість та вибір ряду альтернативних рішень. При розробці графічного інтерфейсу користувача не слід забувати про 10 евристичних правил Якоба Нільсена [13].

1.6. Проблеми при створенніграфічногоінтерфейсу

При створенні графічного інтерфейсу користувача насамперед важливо взяти до уваги, що ГІК є вкрай важливим елементом системи, а також слід враховувати особливості користувачів. Розробники вбудованого програмного забезпечення повинні дотримуватися загальних принципів людино-машинної взаємодії, а також враховувати особливості і обмеження вбудованої системи, для якої вони пишуть код [14]. Типово внутрішня пам’ять мікроконтролера має малий обсяг, тому одним з основних аспектів роботи з вбудованими системами є вдалий розподіл та використання пам’яті. У вбудованих системах з дисплеєм левову частку мікропрограмного забезпечення займає код, який відповідає за графічний інтерфейс користувача. На графічному інтерфейсі не економлять, оскільки від нього залежить конкурентна здатність продукту.

Відтак, існує проблема розроблення, з одного боку, такого інтерфейсу, щоб користувач не відчував неприємного контрасту зі звичним для нього інтерфейсом програм для ПК, а з другого – інтерфейсу, код якого не порушує правил MISRA та вимагає якнайменше ресурсів пам'яті.

Усі описані вище бібліотеки пропонують стандартні графічні елементи, з яких, як з цеглинок, можна побудувати інтерфейс, але жодна з них не надає кодів шаблонів цілих екранів. Тим не менш, якщо уважно придивитися до вікон інтерфейсів, можна побачити закономірність. Часто ряд кнопок розташований внизу, а інші елементи розміщені в один чи два стовпці. Це наводить на ідею створення коду шаблону екрана для розробника вбудованого ПЗ, який за допомогою параметрів задає конкретний вигляд екрана. Яскравий приклад – діалогове вікно, в якому є текст повідомлення та дві кнопки (одна для підтвердження, друга – для відхилення). Якщо у системі присутні десятки таких вікон, текст варто зробити параметром єдиної функції, що відповідає за створення та обробку діалогу. У даному випадку рішення очевидне. Для складніших топологій екрана задача виділення спільних рис і побудови шаблону не є настільки тривіальною, більше того, заздалегідь невідомо, буде обсяг коду універсального шаблону більшим чи меншим за сумарний обсяг коду розрізнених реалізацій екранів.

У роботі поставлена задача розроблення коду для найбільш вживаних топологій екранів ГІК. Власне, застосування готових шаблонів ГІК дасть змогу зменшити використання пам’яті вбудованої системи.Водночас, може бути вирішенаще одна проблема – повторного використання. Простішескористатисядобре відтестованим кодом шаблону, ніж для схожих випадківписатиновий код, аджеінакшедовелося б витрачатибільше часу на відлагодження і тестування.

РОЗДІЛ 2. ПОСТАНОВКА ЗАВДАННЯ ТА СПЕЦИФІКАЦІЯ ВИМОГ ДО ФУНКЦІЇ ГЕНЕРАЦІЇ ШАБЛОНІВ ГРАФІЧНОГО ІНТЕРФЕЙСУ КОРИСТУВАЧА

2.1. Вхідні дані

Документація мікроконтролера STM32F4; документація бібліотеки SEGGERemWin; вихідні коди графічних елементів бібліотеки emWin; документація дисплею LMT043DNFFWD; довідкові матеріали бібліотек CMSIS, HAL і середовища розробки KeiluVision; постановка задачі розроблення програмних кодів шаблонів графічного інтерфейсу користувача мовою С у середовищі KeiluVision, готових для інтегрування у проект для мікроконтролера STM32F4 та дисплею LMT043DNFFWD.

2.2. Вихіднідані

Схематичні зображення створених шаблонів графічного інтерфейсу користувача; програмні коди шаблонів графічного інтерфейсу користувача мовою C у середовищі Keil uVision, готові для інтегрування у проект для мікроконтролера STM32F4 та дисплею LMT043DNFFWD; покрокова інструкція для інтегрування готових кодів шаблону у проект, схематичні зображення структур даних; екранні знімки результатів тестування.

2.3. Специфікація вимог до універсальної функції генерації шаблонів графічного інтерфейсу користувача для вбудованих систем на основі STM32F4 з сенсорними дисплеями

1. Вступ

1.1. Призначення, мета

Метою даноїбакалаврськоїкваліфікаційноїроботи є розробленняуніверсальнихфункційгенераціїшаблонівграфічногоінтерфейсукористувача для вбудованих систем на основіSTM32F4 з сенсорними дисплеями з використаннямграфічноїбібліотекиSEGGERemWin. Універсальніфункціїгенераціїшаблонівдопоможутьрозробниковішвидкостворюватискладовіграфічногоінтерфейсукористувача, а також, якщо ГІК включає в собібільше одного екрану, зменшитизатрати на ресурсипам'яті (зменшитиобсяг коду). Підфункцієюгенераціїшаблонів ГІК мається на увазіготовий для використання код, для викликуякогослідвказати ряд параметрів. Результатом викликуфункції є готовевікнографічногоінтерфейсукористувача, створеневідповідно до заданихпараметрів.

1.2. Продукти-аналоги

Провівши аналіз ринку, можна зробити висновок, що як таких продуктів- аналогів практично не існує. До уваги можна взяти лише інструмент для побудови графічного інтерфейсу користувача GUIBuilder, який надається разом з графічною бібліотекою emWin. До переваг цього інструмента можна віднести широкі функціональні можливості, можливість створювати інтерфейс на будь-який смак з урахуванням обмежень бібліотеки emWin. Щодо недоліків, слід відзначити, що інструмент є незручним у користуванні, немає можливості створювати шаблони інтерфейсу, також інструмент є платним.

Головне вікно GUIBuilder показане на рис. 2.1.

Не забудьте оформить заявку на наиболее популярные виды работ: