Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
  1. Hjem
  2. Høyskole
  3. NTNU
  4. TDT4258
  5. Studieguide
TDT4258 · NTNU

Studieguide for TDT4258 Maskinnær programmering

Komplett pensumoversikt for maskinnær programmering ved NTNU — med forklaringer, sentrale begreper, eksamenstips og vanlige fallgruver. Eksamensoptimalisert basert på tidligere eksamener.

Innhold

  • Introduksjon
  • Innebygde systemer – grunnleggende konsepter og designflyt
  • Prosessor- og mikrokontrollerarkitektur
  • Minnehierarki – ROM, RAM, cache og adresserom
  • Busser og periferienheter
  • ARM-assembly-programmering
  • Lavnivå C-programmering for innebygde systemer
  • Avbrudd og hendelsesdrevet programmering
  • Kompilering og kodeoptimalisering
  • Operativsystem for innebygde systemer
  • Energieffektivitet og strømstyring
  • Ressursbegrenset programmering og ytelsesanalyse
  • Generativ AI i programvareutvikling – muligheter og begrensninger
  • Innebygd Linux – kjerne, moduler og drivere
  • Eksamensstrategi
  • Formelark

Introduksjon

Denne studieguiden dekker hele pensum i TDT4258 Maskinnær programmering ved NTNU. Emnet gir en grundig innføring i innebygde systemers hardware og software — fra prosessorarkitektur og minnehierarki til lavnivåprogrammering i ARM-assembly og C (7,5 studiepoeng). Mye av terminologien og eksempelhardwaren (EFM32GG, ARM Thumb-2) er på engelsk, og eksamensteksten er på engelsk.

Eksamen er en 3-timers skriftlig skoleeksamen uten hjelpemidler (kode E), og den har historisk vært fullstendig flervalg (multiple choice): et stort sett deloppgaver (typisk ca. 25, merket a, b, c …) à 2 poeng. Det er negativ uttelling for feil svar (typisk +2 for riktig, 0 for blankt, −0,66 for feil), så du bør kun gjette når du kan eliminere alternativer. I tillegg inngår obligatoriske laboratorieøvinger der du programmerer ARM Cortex-M-baserte mikrokontrollere (typisk EFM32 eller STM32) på tre abstraksjonsnivåer: ren ARM-assembly, bare-metal C og OS-støttet (uClinux/RTOS).

Eksamen tester begrepsforståelse og evnen til å skille riktig fra nesten-riktig — ikke å skrive lange kodebesvarelser for hånd. Du må kunne lese korte kodefragmenter (assembly og C), gjenkjenne avvik (RAW/WAR/WAW-avhengigheter, hazards, registerbehov), og resonnere presist om cache, busser, avbrudd, energi og OS-oppstart. Fordi alternativene er deltsanne, må du forstå nyanser, ikke bare hovedtrekk.

Faste eksamensmønstre (utledet fra tidligere eksamener):

  • Prosessorarkitektur — pipelining, hazards vs. avhengigheter (RAW/WAR/WAW), prosessormoduser, banked registers, registerallokering; svært hyppig
  • Minnehierarki og cache — direkte-/set-/full-assosiativ cache, conflict/capacity/cold misses, SRAM vs. DRAM, virtuelt minne/MMU; svært hyppig
  • Energieffektivitet — dynamisk vs. statisk effekt, DVFS, clock/power gating, EDP, energy harvesting og brown-out; svært hyppig
  • ARM-assembly og ABI/AAPCS — registerkonvensjon, parameteroverføring, stack frame, immediate-verdier i Thumb-2, IT/ITE-instruksjoner; svært hyppig
  • Busser, I/O og periferi — I2C-protokoll, memory-mapped I/O, bidireksjonelle busser, GPIO, oscilloskop vs. logikkanalysator; hyppig
  • OS for innebygde systemer / Linux-oppstart — modulær kjerne, platform code, bootloader (Das U-Boot), Flattened Device Tree, fork/execve, scheduling (RMS, priority inversion); hyppig
  • Kompilering og kodeoptimalisering — C-verktøykjeden, loop-transformasjoner (unrolling, fusion, fission, tiling), inlining; medium
  • Lavnivå C — extern/static, 2D-arrays, bitmanipulering, volatile; medium

Innebygde systemer – grunnleggende konsepter og designflyt

Hyppig på eksamen

Kjennetegn ved innebygde systemer, designprosess og typiske bruksområder.

Hva er et innebygd system?

Et innebygd system (embedded system) er et dedikert datasystem integrert i et større produkt for å utføre én eller noen få spesifikke funksjoner. Til forskjell fra en general-purpose-PC er et innebygd system typisk: ressursbegrenset (lite RAM, lav klokkefrekvens), strømsensitivt (batteri), sanntidskritisk (deterministisk responstid) og direkte tilkoblet fysisk maskinvare via GPIO, sensorer og aktuatorer.

Eksempler spenner fra enkle mikrokontrollere i bryteren på vaskemaskinens frontpanel til komplekse systemer i biler (motorstyringsenheter, ABS), medisinsk utstyr (pacemakere, insulinpumper), industriautomatisering og IoT-enheter.

Kjennetegn sammenlignet med general-purpose-systemer

  • Dedikert funksjon: kjører typisk ett program fast (firmware), ikke et dynamisk sett av applikasjoner.
  • Ressursbegrensning: kB–MB RAM, MHz–hundrevis av MHz klokke, kB–MB flash.
  • Sanntidskrav: respons innen et bestemt tidsvindu (hardt eller mykt sanntid).
  • Direkte maskinvarekontroll: skriver direkte til minnekartlagte registre for å styre periferienheter.
  • Strømsensitivitet: batteri-drevet eller krav om lavt strømforbruk; sleep-moder er essensielle.
  • Ingen OS (eller RTOS): kjører gjerne bare-metal (uten OS) eller med et lett sanntidsoperativsystem (RTOS).

Designflyten

En typisk innebygd systemdesignprosess er:

  1. Kravspesifikasjon: funksjonelle krav (hva skal systemet gjøre), ikke-funksjonelle krav (ytelse, strøm, kostnad).
  2. Arkitekturvalg: velg prosessor/mikrokontroller, minnestørrelse, periferienheter og kommunikasjonsbusser.
  3. Hardware-design: kretsskjema, PCB-layout, strømforsyning.
  4. Firmware-utvikling: lavnivå-initialisering (oppstartssekvens, klokkeoppsett), drivere for periferienheter, applikasjonslogikk.
  5. Integrasjon og testing: JTAG/SWD-debugging, oscilloskop, logikkanalysator.
  6. Optimalisering: ytelse, strømforbruk, kodestørrelse.
Eksempel — Designflyt for en temperaturlogger

Krav: mål temperatur hvert 10. sekund, lagre til flash, send over UART ved forespørsel, batterielevetid 1 år. Arkitekturvalg: ARM Cortex-M0+ (lav strøm), ADC for temp-sensor, UART, intern flash for logging. Firmware: initialiser klokke til 4 MHz, sett opp ADC og UART, les ADC i en 10-sekunders timer-ISR, sov i dype sleep-moder mellom målinger. Resultat: CPU aktiv under 1 % av tiden gir lavt gjennomsnittlig strømforbruk.

Abstraksjonsnivåer

I TDT4258 arbeider du på tre nivåer:

  • ARM-assembly: direkte instruksjoner til prosessoren, full kontroll, ingen abstraksjon.
  • Bare-metal C: C uten OS. Du skriver direkte til minnekartlagte registre for å styre periferienheter.
  • OS-støttet C: C med et RTOS (f.eks. FreeRTOS eller Zephyr) som håndterer oppgaveplanlegging og ressurssynkronisering.

Nøkkelformler

  • •Innebygd system = dedikert funksjon + ressursbegrensning + sanntidskrav + direkte hardware-kontroll
  • •Designflyt: Krav → Arkitektur → Hardware → Firmware → Integrasjon → Optimalisering
  • •Abstraksjonsnivåer: Assembly (lavest) → Bare-metal C → RTOS-C (høyest)
  • •Sanntid: hardt sanntid = garantert deadline, mykt sanntid = statistisk deadline

Vanlige feil

  • ⚠️Forveksler innebygde systemer med vanlige PC-er — innebygde systemer er dedikerte, ressursbegrensede og sanntidskritiske
  • ⚠️Glemmer at bare-metal C ikke har et OS — ingen malloc-sikkerhet, ingen trådplanlegging, du styrer alt selv
  • ⚠️Tror at høyere klokkefrekvens alltid er bedre — i innebygde systemer er lavt strømforbruk ofte viktigere
  • ⚠️Undervurderer firmware-testing — manglende testing av ISR-er og timer-oppløsning kan gi uforutsigbar oppførsel i produksjon

Eksamenstips

  • 💡Eksamen spør ofte om hva som skiller innebygde systemer fra general-purpose — memorér de fem kjennetegnene
  • 💡Designflyten kan dukke opp som 'forklar de viktigste stegene i utvikling av et innebygd system'
  • 💡Abstraksjonsnivåene (assembly / bare-metal C / RTOS) er sentrale for hele kurset — forstå hva hvert nivå gir og koster

Laster...

Laster…
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert