Bachelor's Thesis

Adaptation of Zephyr RTOS and Sound Open Firmware on a HiFi4 DSP of the NXP i.MX RT685 MCU

Final Thesis 1.2 MB

Author of thesis: Bc. Vít Staniček

Acad. year: 2023/2024

Supervisor: Ing. Václav Šimek

Reviewer: Ing. Josef Strnadel, Ph.D.

Abstract:

This thesis analyzes the specifics of the i.MX RT685 microcontroller made by NXP Semiconductors, the Cadence Tensilica HiFi 4 DSP processing core implemented in it and describes an effort of porting the Zephyr RTOS along with Sound Open Firmware to that platform. An application demonstrating an audio processing pipeline on those technologies is implemented in this work as well. The thesis is motivated by the aim to both efficiently implement digital audio processing techniques and streamline their use on the said device.

Keywords:

microcontroller, embeddded system, digital signal processing, operating system

Date of defence

13.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

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, 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.

Topics for thesis defence

  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.

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

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)

Supervisor’s report
Ing. Václav Šimek

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

Evaluation criteria Verbal classification
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í.

Points proposed by supervisor: 85
Display more

Grade proposed by supervisor: B

Reviewer’s report
Ing. 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í:



  • 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.

Evaluation criteria Verbal classification Points
Náročnost zadání

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

Evaluation level: 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

Evaluation level: 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
Topics for thesis defence:
  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.
Points proposed by reviewer: 89
Display more

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová