Sök i kursutbudet

Använda sökfunktionen för att hitta i Chalmers utbildningsutbud, både vad gäller kurser och program. När det finns en kurshemsida visas en hus-symbol som leder till denna sida. Tänk på att välja det läsår du vill se information om.
Sök program och utbildningsplaner


Institutionernas kurser för doktorander

​​​​​​​​​​​​​​​​​​​​

Kursplan för

Läsår
DAT015 - Maskinorienterad programmering
 
Kursplanen fastställd 2012-06-15 av programansvarig (eller motsvarande)
Ägare: TKITE
7,5 Poäng
Betygskala: TH - Fem, Fyra, Tre, Underkänt
Utbildningsnivå: Grundnivå
Huvudområde: Datateknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


Undervisningsspråk: Svenska

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0105 Tentamen 4,5 hp Betygskala: TH   4,5 hp   19 Dec 2012 em V,  05 Apr 2013 em V,  23 Aug 2013 fm M
0205 Laboration 3,0 hp Betygskala: UG   3,0 hp    

I program

TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 2 (obligatorisk)

Examinator:

Univ lektor  Roger Johansson


Kursutvärdering:

http://document.chalmers.se/doc/56282169-0f0e-4796-8419-9e388f04a32a


  Gå till kurshemsida

Behörighet:

För kurser inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program kursen ingår i.

Kursspecifika förkunskaper

Digital- och datorteknik eller motsvarande.

Syfte

Syftet med kursen är att vara en introduktion till konstruktion och programmering av små inbyggda system.

Lärandemål (efter fullgjord kurs ska studenten kunna)

De övergripande målen är att den studerande ska kunna tillämpa maskinnära programmering på inbäddade styrsystem. Målen är också att den studerande ska kunna förklara fördelar och nackdelar, möjligheter och begränsningar som karakteriserar denna klass av datorsystem.


1. Programutveckling i C och assemblerspråk
Kunna utföra programmering i C och assemblerspråk samt kunna:
* Beskriva och tillämpa modularisering med hjälp av funktioner och subrutiner.
* Beskriva och tillämpa parameteröverföring till och från funktioner.
* Beskriva och tillämpa olika metoder för parameteröverföring till och från subrutiner.
* Beskriva och använda olika kontrollstrukturer.
* Beskriva och använda sammansatta datatyper (fält och poster) och enkla datatyper (naturliga tal, heltal och flyttal).  


2. Programutvecklingteknik
Att självständigt kunna:
* Konstruera, redigera och översätta (kompilera och assemblera) program
* Beskriva översättningsprocessen, dvs. assemblatorns arbetssätt, preprocessorns användning, separatkompilering och länkning.
* Testa, felsöka och rätta programkod med hjälp av avsedda verktyg.


3. Systemprogrammerarens bild av inbäddade system
Att självständigt kunna:
* Kunna beskriva och tillämpa olika principer för överföring mellan centralenhet och kringenheter så som: ovillkorlig eller villkorlig överföring, statustest och rundfrågning. 
* Konstruera program för systemstart och med stöd för avbrottshantering från olika typer av kringenheter.
* Kunna beskriva metoder och mekanismer som är centrala i systemprogramvara så som pseudoparallell exekvering och hantering av processer.
* Beskriva och använda kretsar för tidmätning.
* Beskriva och använda kretsar för parallell respektive seriell överföring.


4. Undantagshantering i datorsystem
Att självständigt kunna:
* Beskriva och exemplifiera olika undantagstyper: interna undantag, avbrott och återstart.
* Konstruera enklare avbrottssystem med användning av digitala komponenter.
* Beskriva och tillämpa olika metoder för prioritetshantering vid multipla avbrottskällor (mjukvarubaserad och hårdvarubaserad prioritering, avbrottsmaskering, icke-maskerbara avbrott).


5. Systemets organisation
Att självständigt kunna:
* Beskriva olika typer av adressrum.
* Beskriva olika minnesorganisationer.
* Beskriva principerna för synkron, asynkron och multiplexad busskommunikation.
* Konstruera adressavkodningslogik för minneskretsar och in-/utmatningskretsar.

Innehåll

Kursen innehåller moment som låter eleven konstruera större och större programblock i assembler och C. Resultatet blir ett ”minirealtidssystem” för två parallella processer. Processerna styr en borrmaskin och en sifferindikator för tid- och temperaturvisning.
Första delen av kursen koncentreras kring programutveckling i assemblerspråk. Därefter inhämtas grunderna för programmering i C. Slutligen kombineras programutveckling i C och assembler.


I pedagogiskt syfte används en enkel borrmaskin och traditionella in- utmatningsenheter som tangentbord och sifferindikatorer. Utrustningen används tillsammans med en mikrodator (68HC12). Allt finns tillgängligt både i form av maskinvara och som enheter i en simulator. Utrustningen används både för C- och assemblerprogrammering.

Organisation

Schemalagd undervisning består av föreläsningar, demonstrationer och handledda simulerings- och kodningsövningar. Dessutom utförs sex handledda obligatoriska laborationer.
Under kursen konstruerar eleven större och större programblock i assembler och C. Teorin inhämtas genom föreläsningar och demonstrationer. Eleven konstruerar sina programblock med ”papper - och penna” och testar dessa med hjälp av simulatorer under simuleringsövningar och självstudier. Inför laborationer anpassar eleven sina program så att funktionen dessutom kan verifieras i hårdvara.

Litteratur

Se kursens hemsida. 

Examination

Examinering sker i form av godkänd skriftlig tentamen samt godkända laborationer.
Baserat på tentamensresultatet ges betygen U, 3, 4 eller 5. 


Sidansvarig Publicerad: må 13 jul 2020.