Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Jan Tomeček
Acad. year: 2023/2024
Supervisor: Ing. Václav Šimek
Reviewer: Ing. Josef Strnadel, Ph.D.
This thesis deals with the design of support for microcontrollers from NXP Semiconductors in the Arduino IDE development environment. The thesis analyses the individual elements of the Arduino IDE, its extension packages and individual configuration files. It also describes the MCUXpresso IDE environment and based on the analysis the package for supporting NXP microcontrollers is designed.
Arduino, Arduino IDE, Microcontrollers, MCUXpresso, LPC845, LPC860
Date of defence
17.06.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Application Development (NADE)
Composition of Committee
prof. Ing. Tomáš Hruška, CSc. (předseda) doc. Ing. František Zbořil, Ph.D. (člen) doc. Ing. Ondřej Lengál, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Libor Polčák, Ph.D. (člen) Dr. Ing. Petr Peringer (člen)
Supervisor’s reportIng. Václav Šimek
S ohledem na velmi solidní zpracování celého projektu (realizační výstup, technická zpráva, reálně ověřená funkcionalita) a potenciální přínos pro komunitu soustředěnou kolem vývojového prostředí Arduino IDE doporučuji z pozice vedoucího souhrnné hodnocení stupněm A - výborně, 90 bodů.
Jedná se o práci implementačního charakteru (tj. tvorba software a firmware), která po tematické stránce spadá do oblasti vestavěných systémů. Zadání práce jako takové bylo zformulováno ve spolupráci se společností NXP, lze tedy hovořit o firemním zadání.
Hlavním cílem je vytvořit podporu pro zvoleny mikrokontroler od společnosti NXP v rámci vývojového prostředí Arduino IDE a prakticky demonstrovat funkčnost realizovaného řešení. Důležitou vlastností celé koncepce by taktéž měla být i snadná rozšiřitelnost o další nové součástky.
Náročnost tohoto projektu bych označil za nijak nevybočující z obvyklých mezí očekávaných v případě diplomové práce. Zejména bylo třeba prozkoumat mechanismus podpory mikrokontrolerů v prostředí Arduino IDE, nastudovat si technickou specifikaci zvolené součástky od společnosti NXP a seznámit se s aspekty tzv. embedded programování.
Domnívám se, jednotlivé body zadání byly v úplnosti splněny a dosažené výsledky naplňují cíle a očekávání plynoucí z tohoto projektu.
K dokončení realizačního výstupu i samotné technické zprávy došlo ve stanoveném termínu, i když s nijak velkým předstihem. Do technické zprávy se podařilo zapracovat prakticky všechny připomínky.
Je plánování zveřejnění kompletních výsledků projektu formou open-source. Žádné další publikační výstupy či zisk ocenění mi nejsou známy.
Ohledně získávání informačních pramenů a způsobů jejich využití v rámci tohoto projektu byla studentovi udělena základní doporučení. Konkrétní reference uvedené v technické zprávě si zajistil vlastními silami, přičemž jejich výběr byl se mnou konzultován.
Aktivita studenta i vzájemná komunikace v průběhu celého období řešení projektu byla na velmi dobré úrovni. Průběžně jsem byl informován o aktuálním stavu řešení projektu a výskytu eventuálních problémů, kdy student dokázal navrhnout a realizovat potřebná opatření. Za velmi dobrou bych rovněž označil spolupráci s odborným konzultantem ze společnosti NXP.
Grade proposed by supervisor: A
Reviewer’s reportIng. Josef Strnadel, Ph.D.
Výsledek práce studenta (tj., realizační výstup a technickou zprávu) souhrnně považuji za nadprůměrně kvalitní a navrhuji jej ohodnotit stupněm B; odůvodnění:
Evaluation level: zadání splněno s drobnými výhradami
Zadání považuji za splněné, nicméně s výtkou k poměrné stručnosti dokumentace z hlediska řešení bodů 6 a 7 zadání.
Evaluation level: je v obvyklém rozmezí
Rozsah technické zprávy (TZ) považuji za obvyklý - TZ, až na výtku z části Rozsah splnění požadavků zadání, obsahuje veškeré podstatné informace k řešené problematice.
Technická zpráva (TZ) je vhodně strukturovaná, její části na sebe vhodně navazují a přispívají k její velmi dobré čitelnosti a představě o prostředcích, způsobu a výsledku řešení - k prezentační úrovni TZ nemám vážnější výhrady.
Úroveň typografické a jazykové stránky technické zprávy považuji za velmi dobrou, případné nedostatky považuji za nepodstatné - dovolím si zmínit jen, poměrně zbytečné, členění nadpisu až do třetí úrovně či občasné překlepy a "bílá místa" v textu.
Informační zdroje použité v technické zprávě jsou, vzhledem k tématu a zadání práce, vhodně zvoleny, pokrývají problematiku řešenou v rámci práce a v technické zprávě je na ně odkazováno způsobem umožňujícím řádné odlišení prvků vlastních od převzatých. Vytknout lze snad jen v některých částech čtenářem logicky očekávané, nicméně v textu chybějící odkazy na citace (např. k Arduino IDE v části 2.1, k balíkům zmiňovaných v odrážkách v části 6.4, CopilotAI na konci části 7.3.1). Některé odkazy na citace jsou nevhodně umístěny za dvojtečkou uvádějící výčet (str. 7, 20), nejsou odděleny mezerou od textu vlevo od citace (str. 14) apod.
Realizační výstup (RV) tvoří zejména podpůrný balík (viz podkap. 6.1), konfigurační soubory (viz podkap. 6.3) a jádro pro konkrétní platformu (viz podkap. 6.4, kap. 7) a testy (viz podkap. 6.5); implementace staví převážně na jazyku C. RV je sice řešen se snahou o obecné řešení, nicméně ověřen s minimálním úsilím (viz požadavek bodu 2 zadání "pro vybrané mikrokontrolery" - vybrány sice byly dva, ale velmi podobné m.), což vzbuzuje pochybnosti ohledně jeho širší/obecnější použitelnosti. RV považuji za poměrně detailně a kvalitně zdokumentovaný a souhrnně jej hodnotím, i přes základní přístup k ověření/prokázání jeho vlastností, jako funkční.
Pokud by byla prokázána širší/obecnější použitelnost předloženého řešení, pak bych považoval toto řešení jako solidní základ využitelný k usnadnění vývoje vestavných aplikací. Současné řešení je tedy potřeba v tomto smyslu dopracovat.
Evaluation level: obtížnější zadání
Zadání považuji za obtížnější, a to zejména kvůli požadavku (o předem neznámé náročnosti) bodů 4, 5 zadání ohledně sladění přístupů z Arduino IDE a z SDK od NXP, který bylo nutné splnit s předstihem, což kladlo nároky na vhodné načasování souvisejících činností. Za neméně náročnou považuji volbu a přípravu podmínek, prostředků a metod pro testování dle bodu 6 zadání. Zadání považuji za řešitelné pomocí vědomostí, dovedností a zkušeností získaných během dosavadního studia.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová