At give en forståelse af programmering, organisation, og funktion
af et enkelt indlejret system, samt de involverede komponenter og
de abstraktionslag, som bruges til at håndtere systemets
kompleksitet.
At sætte deltageren i stand til at designe, implementere, debugge,
teste og dokumentere programmer for et computersystem.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Beskrive de forskellige abstraktionslag relateret til software
i et computersystem.
Konstruere softwareprogrammer i programmeringssproget C.
Anvende relevante udviklingsværktøjer.
Forklare hvordan C-code oversættes til assembly og
maskinprogrammer.
Forklare hvordan C-code relateres til assembly og
maskinprogrammer, og forklare instruktionsformat.
Beskrive og bruge kontrolstrukturer i programmer.
Beskrive og bruge pointers i programmer, fx til at danne
enkelte dynamiske data strukturer som kædede lister.
Konstruere programmer, som sætter processoren i stand til at
kontrollere input/output enheder.
Bruge det relevante fagsprog og argumentere rationelt for en
løsning.
Designe, implementere, debugge, teste, og dokumentere et
program som del af en gruppe af studerende, og deltage konstruktivt
i gruppens styring.
Dokumentere udviklings- og projektarbejde i en teknisk
rapport.
Kursusindhold:
- C programmering, assembler og maskinprogrammer.
- Hukommelsesstruktur (stak, heap, etc).
- Interaktion med input/output enheder: polling, interrupts,
hukommelsesbrug.
- Projekt om struktur, design, implementering, og test af et
program, som afvikles på et computersystem.