Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
diplomová práce
Autor práce: Ing. Jan Tomeček
Ak. rok: 2023/2024
Vedoucí: Ing. Václav Šimek
Oponent: Ing. Josef Strnadel, Ph.D.
Tato práce se zabývá návrhem podpory mikrokontrolérů od společnosti NXP Semiconductors ve vývojovém prostředí Arduino IDE. Práce analyzuje jednotlivé prvky Arduino IDE, jeho rozšiřovacími balíky a jednotlivé konfigurační soubory. Také popisuje prostředí MCUXpresso IDE, na základě kterého je navržen balík pro podporu mikrokontrolérů od NXP.
Arduino, Arduino IDE, Mikrokontroléry, MCUXpresso, LPC845, LPC860
Termín obhajoby
17.06.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
B
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav počítačových systémů
Studijní program
Informační technologie a umělá inteligence (MITAI)
Specializace
Vývoj aplikací (NADE)
Složení komise
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)
Posudek vedoucíhoIng. 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.
Známka navržená vedoucím: A
Posudek oponentaIng. 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í:
Stupeň hodnocení: 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í.
Stupeň hodnocení: 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.
Stupeň hodnocení: 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.
Známka navržená oponentem: B
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová