Дипломна работа

Автоматично генериране на софтуер за вградени системи | Защитена на: 01/01/1900

Дипломната работа разглежда разработката на генератор на софтуер за вградени системи, който има за цел да автоматизира процеса на генериране на код, осигурявайки бързо прототипиране на софтуерни решения. Вградените системи намират широко приложение в разнообразни индустрии, като автомобилната, медицинската и Интернет на нещата (IoT). Разработчиците на софтуер трябва да се съобразяват със спицифични изисквания, поради ограничените ресурси като памет, процесорна мощ и енергийна ефективност. В този контекст автоматизираното генериране на код ускорява разработката, намалява човешките грешки и оптимизира използването на ресурсите.
Основните предизвикателства при разработката на софтуер за вградени системи се състоят в необходимостта от оптимизация управление на ограничените ресурси на хардуера. Множество системи изискват висока надеждност и сигурност, което поставя допълнителни изисквания към софтуерното разработване. Въпреки значителния напредък в инструментите за автоматизиране на софтуерната разработка, съществуват още нерешени проблеми, свързани с адаптиране на тези инструменти към различни хардуерни платформи и интеграцията на нови технологии.
В дипломната работа е предложен генератор за автоматично генериране на софтуер за вградени системи, който е проектиран да осигури по-висока ефективност и надеждност в процеса на разработка. Генераторът предлага гъвкавост и лесно конфигуриране, като позволява на потребителя да адаптира софтуерното решение според специфичните изисквания на
вградената система. Генерираният софтуер се базира на многослойна архитектура, включваща слоеве за хардуерни абстракции, услуги и софтуерни компоненти. Архитектурата е проектирана така, че да осигури модулност и лесна поддръжка на софтуера, като всеки слой има ясни отговорности. Възможността за лесно добавяне на нови услуги и софтуерни компоненти е основен акцент в архитектурния дизайн.
Разработените услуги включват управление на периферни устройства като ADC (аналогово-цифрови преобразуватели), UART, SPI, PWM и други, както и предоставяне на интерфейси за тяхното конфигуриране чрез графичен потребителски интерфейс. Тези услуги осигуряват ефективно взаимодействие между софтуера и хардуера, като автоматизират процесите по конфигуриране и управление на различни системни компоненти.
Генерираният софтуер е разработен на програмния език „C“, който предоставя висок контрол върху хардуерните ресурси, което е ключово за вградените системи. За имплементацията на генератора беше използван Python, който предлага гъвкавост и лесна интеграция на различни библиотеки. За създаване на графичния интерфейс на генератора беше избрана библиотеката DearPyGui, която осигурява простота и ефективност при изграждането на визуалните елементи. Системата беше тествана с помощта на тестова постановка, включваща два микроконтролера Atmega328P, които работят в ролите на SPI Master и SPI Slave. Тази тестова конфигурация позволи провеждането на функционални тестове и верифицирането на услугите и софтуерните компоненти. По този начин беше осигурена стабилност и надеждност на разработеното решение.

Scroll to Top