bakalářská práce

Adaptace RTOS Zephyr a Sound Open Firmware pro DSP jádro na platformě NXP i.MX RT685

Text práce 1.2 MB

Autor práce: Bc. Vít Staniček

Ak. rok: 2023/2024

Vedoucí: Ing. Václav Šimek

Oponent: Ing. Josef Strnadel, Ph.D.

Abstrakt:

Tato práce se zabývá analýzou mikrokontroléru i.MX RT685 vyráběného firmou NXP Semiconductors, v něm realizovaného Tensilica HiFi 4 DSP jádra a popisuje úsilí adaptace RTOS Zephyr společně s vrstvou Sound Open Firmware na tuto platformu. Aplikace demonstrující zpracování digitálních zvukových signálů nad těmito technologiemi je v této práci implementována rovněž. Práce je motivována záměrem jak efektivně realizovat techniky pro digitální zpracování zvukových signálů na této platformě, tak sjednotit jejich použití.

Klíčová slova:

mikrokontrolér, vestavený systém, signál, digitální zpracování signálů, operační systém

Termín obhajoby

13.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

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, např. ohledně důvodů vedoucích k pouze částečnému zprovoznění DSP funkcionality. 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 - velmi dobře.

Otázky k obhajobě

  1. Na konci podkap. 9.1 (obdobně podkap. 8.1) uvádíte, že pomocí debuggeru je možno, čtením příslušného bufferu, ověřit generovaný průběh sinusového tvaru - vhodně toto tvrzení podložte (např. fotografií či snímkem obrazovky).
  2. V podkap. 9.2 základně charakterizujete předložené řešení z paměťového hlediska; stručně toto řešení charakterizujte z časového hlediska (např. latence spojené s voláním a prováděním služeb Zephyr/IPC, správou výjimek/přerušení, přístupem k bufferu, vytvořením/řízením zřetězené linky (pipeline) či host/tone komponenty).
  3. Stručně shrňte implementační činnosti, vč. odhadu jejich náročnosti, nezbytné k tomu, aby byl realizační výstup schopen generovat signál obecnějšího, ideálně libovolného, průběhu.

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. RNDr. Milan Češka, Ph.D. (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)
doc. Ing. Michal Španěl, Ph.D. (člen)

Posudek vedoucího
Ing. Václav Šimek

S ohledem na výše uvedené skutečnosti navrhuji souhrnné hodnocení stupněm B - velmi dobře, 85 bodů.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Cílem tohoho projektu, kdy se jedná o firemní zadání od společnosti NXP, bylo provést adaptaci RTOS Zephyr a vrstvy Sound Open Firmware pro DSP jádro na cílové platformě NXP i.MX RT685. Jedná se tedy o bakalářskou práci implementačního charakteru z oblasti vestavěných zařízení.

Díky poměrně skoupé dokumentaci k DSP jádru a mnohým chybám v existující verzi firmware pro jinou platformu došlo k nezanedbatelnému zdržení postupu prací. Student se taktéž musel zabývat hledáním řešení mnoha obtížkých problémů, jejichž výskyt nebylo možno předem očekávat. 

I přes naznačené překážky s podařilo celý projekt ve vymezeném čase úspěšně dokončit s tím, že na platformě i.MX RT685 je však demonstrována pouze velmi základní funkcionalita DSP jádra. I tak ale považuji bod 6 a vlastně celé zadání za splněné.

Práce s literaturou

Některé z informačních zdrojů byly řešiteli doporučeny ze strany vedoucího, ostatní si zajistil již ve vlastní režii. Jejich konečný výběr uváděný v závěru technické zprávy byl konzultován.

Aktivita během řešení, konzultace, komunikace

Aktivita studenta v průběhu zpracování tohoto projektu byla na velmi dobré úrovni. K řešení přistupoval velmi zodpovědně a byl schopen efektivně navrhovat řešení mnoha obtížných problémů, na které narazil. V pravidelných intervalech mě informoval o postupu prací a aktuálně řešených aspektech.

Aktivita při dokončování

Díky mnoha neočekávaným problémům, na které student postupně narazil a bylo nutné se s nimi postupně vypořádat, došlo k nezanedbatelnému zpoždění oproti původnímu plánu. Zejména realizační výstup byl dokončován na poslední chvíli. I za těchto podmínek se podařilo do finální podoby technické zprávy promítnout prakticky všechny připomínky vedoucího.

Publikační činnost, ocenění

V souvislosti s řešením tohoto projektu nedošlo ke vzniku dalších publikačních výstupu či zisku relevantních ocenění.

Výsledný počet bodů navržený vedoucím: 85

Známka navržená vedoucím: B

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í:



  • zadání bylo obtížnější,

  • pro vyřešení zadání student vykonal poměrně značný objem práce,

  • realizační výstup hodnotím jako nadprůměrně kvalitní, funkční dle požadavků zadání a, až na nedostatky týkající se zhodnocení, také nadprůměrně kvalitně zdokumentovaný,

  • k výsledku práce studenta nemám zásadnější výhrady.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Zadání považuji za obtížnější, a to především z následujících důvodů:

  • realizační prostředky, dané body 1 až 4 zadání (hardware i.MX RT685, HiFi4 DSP a software Zephyr, SOF), jsou netriviální a i základní seznámení se s nimi, vč. získání zkušeností s vývojem aplikací na nich založených, vyžaduje nemalé schopnosti, úsilí a čas,
  • portace, požadovaná body 4 a 5 zadání, nemusela, vzhledem k daným realizačním prostředkům, být přímočará a mohla skrývat řadu, zadáním nespecifikovaných, úskalí - i bez úskalí by ale představovala netriviální problém.

Zadání považuji za řešitelné pomocí vědomostí, dovedností a zkušeností získaných během dosavadního studia.

Prezentační úroveň technické zprávy

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 s výsledku řešení, kterou kazí snad jen absence některých informací (viz komentář ad Rozsah technické zprávy) - až na místy málo ilustrativní charakter některých částí TZ nemám k prezentační úrovni TZ výhrady.

85
Formální úprava technické zprávy

Úroveň typografické a jazykové stránky technické zprávy považuji za výbornou, případné nedostatky považuji za nepodstatné - dovolím si zmínit jen, poměrně zbytečně detailní, členění rešeršních informací do pěti kapitol (kap. 2-6), místy špatnou práci se zkratkami (ne všechny používané zkratky jsou řádně definovány) či občasná "bílá místa" v textu.

90
Realizační výstup

Realizační výstup práce

  • tvoří zejména porty (viz body 4, 5 zadání) Zephyr RTOS a SOF (pro HiFi4 DSP na i.MX RT685 od NXP) vč. neplánované přípravy/portu GCC toolchain a HAL, sada aplikací pro otestování dílčích funkcí (viz bod 4 zadání) a ukázková aplikace (viz bod 6 zadání).
  • je poměrně detailně a kvalitně zdokumentovaný, vč. popisu problémů, spojených zejména s portací, a jejich řešení (viz kap. 7, 8 technické zprávy), ale neuspokojivě zhodnocený,
  • souhrnně hodnotím, i přes základní podobu ukázkové aplikace, jako funkční dle požadavků zadání.
85
Využitelnost výsledků

Vzhledem k poměrně kvalitnímu řešení, kombinujícímu několik netriviálních prvků, považuji realizační výstup jako solidní základ pro tvorbu složitějších aplikací s přínosem pro praxi.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno s drobnými výhradami

  • Zadání považuji za splněné, avšak s výhradou k řešení požadavků bodů 6 a 7 zadání - vytvořená aplikace je sice funkční, ale spíše základní; zhodnocení realizačního výstupu považuji, přinejlepším, za neuspokojivé.
  • Vzhledem k větší obtížnosti zadání (viz výše, Náročnost zadání) a tomu, že řešení bylo ztíženo řadou předem neočekávaných komplikací, které se podařilo překonat, nepovažuji moji výhradu za závažnou.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

  • Rozsah technické zprávy (TZ) považuji za obvyklý - TZ obsahuje veškeré podstatné informace k řešené problematice i realizačnímu výstupu (RV).
  • Nicméně, některé části textu mohly být, alespoň formou příloh, doplněny o doprovodné ilustrace, např. o souhrn technických parametrů, strukturu, bloková schémata či mapy paměti k hardware z kap. 3, 5, o příklady k podkap. 6.2 - 6.4, data k indikaci problémů a lokalizaci jejich příčin v kap. 7 či nastavení a organizaci paměti v kap. 7, 8. Obdobné chybějící informace zhoršují čitelnost TZ a představu o RV.

Práce s literaturou
  • 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 chybějící odkazy na citace některých, z hlediska práce spíše okrajových, zdrojů (např. k FreeRTOS, NuttX či XTOS na str. 24 či k Maestro a XAF na str. 31).
90
Otázky k obhajobě:
  1. Na konci podkap. 9.1 (obdobně podkap. 8.1) uvádíte, že pomocí debuggeru je možno, čtením příslušného bufferu, ověřit generovaný průběh sinusového tvaru - vhodně toto tvrzení podložte (např. fotografií či snímkem obrazovky).
  2. V podkap. 9.2 základně charakterizujete předložené řešení z paměťového hlediska; stručně toto řešení charakterizujte z časového hlediska (např. latence spojené s voláním a prováděním služeb Zephyr/IPC, správou výjimek/přerušení, přístupem k bufferu, vytvořením/řízením zřetězené linky (pipeline) či host/tone komponenty).
  3. Stručně shrňte implementační činnosti, vč. odhadu jejich náročnosti, nezbytné k tomu, aby byl realizační výstup schopen generovat signál obecnějšího, ideálně libovolného, průběhu.
Výsledný počet bodů navržený oponentem: 89

Známka navržená oponentem: B