Faglig Innhold
Grunnleggende om innebygde systemer, egenskaper og designflyt. Konstruksjon av maskinvare for innebygde systemer: prosessor eller mikrokontroller, hurtigminne, minne, busser, periferienheter. Programvaredesign for innebygde systemer: lavnivå eller maskin-nær programmering i C og ARM-assembler, programmeringsteknikker for ressursbegrensede systemer, og moderne verktøy for programmering av innebygde systemer. Introduksjon til kompilering og kodeoptimaliseringer, operativsystemer, og forbedret bærekraft gjennom energieffektivitet på ulike nivåer mellom maskinvare og applikasjon.
Læringsmål
Kunnskap: - Studenten skal ha en grundig forståelse av maskinvare- og programvarekomponentene i et innebygd system. - Studenten skal være kjent med de forskjellige lagene av teknologi mellom maskinvare og applikasjon og hvordan de samhandler for å utføre beregninger. Dette inkluderer hvordan maskinvare, systemprogramvare og applikasjonskompleksitet påvirker systemets energieffektivitet. - Studenten skal ha en detaljert forståelse av programvareutvikling for innebygde systemer i C, både med og uten operativsystem, samt programmering i assembler. Studenten skal introduseres for muligheter og begrensninger ved bruk av generative AI-systemer for programmering. Ferdigheter: - Studenten skal kunne programmere innebygde enheter på ulike abstraksjonsnivåer, som assemblerprogrammering, «bare-metal» C-programmering og programmering med støtte fra operativsystem. - Studenten skal få erfaring med å bruke generativ AI til programmering og testing, og kunne reflektere over dets muligheter og begrensninger. Generell kompetanse: - Studenten skal mestre programmering nært maskinvaren på ulike nivåer og i forskjellige kontekster.