At give deltagerne en generel viden om simple indlejrede
computersystemers opbygning og virkemåde ved gennemgang af de
involverede komponenter og abstraktionsniveauer, som bruges til at
håndtere kompleksiteten af et sådant system.
At gøre deltagerne i stand til at designe, implementere, fejlfinde,
teste og dokumentere et computer system til en indlejret
applikation bestående af både hardware og software
komponenter.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Beskrive de forskellige abstraktionsniveauer brugt i et
computer system.
Konstruere et simpelt computer system (indeholdende processor,
hukommelse og I/O enheder).
Opdele designet af et computer system af en vis kompleksitet
til mindre og håndterbare dele af hardware og software.
Forklare memory mapped I/O og anvende dette til at tillade
processoren at kommunikere med enheder på et computer system.
Konstruere små programmer der tillader processoren at
kontrollere I/O enheder.
Forklare og konstruere simple programmer skrevet i assembly
sprog eller maskinkode.
Konstruere software programmer ved hjælp af et højniveau
programmeringssprog.
Beskrive og bruge pointere i programmer, eksempelvis til at
konstruere simple dynamiske datastrukturer som lænkede lister.
Fungere som medlem af en mindre arbejdsgruppe og deltage
konstruktivt i styringen af denne.
Skrive en teknisk rapport der dokumenterer
projektarbejdet.
Kursusindhold:
* ANSI C programmering
* Assembly- og maskinkodeprogrammering.
* Hukommelseslayout (Stack, heap etc.)
* Hardware design ved hjælp af VHDL
* Virkemåde og intern konstruktion af hukommelser.
* Arkitektur og instruktionssæt for en simple CPU
* Interaktion med I/O enheder: polling, interrupts, memory mapping
* Hardware implementation på FPGA af I/O enheder, som f.eks. et
serielt interface (UART) eller styreenheder til I/O enheder, som
f.eks. tastaturer eller skærme.
* Projekt der involverer strukturering, design, implementering og
test af en applikation, som kører på et computer system af en vis
kompleksitet, hvor funktionaliteten er baseret på kombination af HW
og SW.
* Dette kursus indeholder tredje semesters CDIO design-build
projekt, som udgør halvdelen af kurset.
Bemærkninger:
Kravspecifikationen for 3-ugens-projektet udføres af de studerende
i samarbejde med underviseren.
Mulighed for GRØN DYST deltagelse:
Kontakt underviseren for information om hvorvidt dette kursus giver
den studerende mulighed for at lave eller forberede et projekt som
kan deltage i DTUs studenterkonference om bæredygtighed,
klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk