Realtidsprogrammering
|
|
- Ann-Christin Engström
- för 8 år sedan
- Visningar:
Transkript
1 Realtidsprogrammering En introduktion - Principer och begrepp Realtidsprog. - Anders Arvidsson 1
2 Vad är ett realtidssystem? Ett system som reagerar på yttre händelser och ger svar inom en bestämd tid. Observera händelse Utvärdera händelse Agera Korrekt beteende inkluderar både resultat och tid för presentation. Krav på samplingsfrekvens Krav på uppdateringsfrekvens (utdata) Krav på svarstider Realtidsprog. - Anders Arvidsson 2
3 Olika typer av realtidssystem (RTS) Händelsestyrda vs Tidsdrivna Mjuka vs Hårda Mix: t ex GSM-telefon Preemtive, non-preemtive Realtidsprog. - Anders Arvidsson 3
4 Schemaläggning Robot som ska följa slinga och visa position på en PC Krocksensor Hjulräknare Analog slingdetektor Radiomodem Motordrivkort Realtidssystem? Hårt/Mjukt system? Realtidsprog. - Anders Arvidsson 4
5 Schemaläggning Task Periodtid Exekveringstid K, Krocksensor 10 ms 50 μs H, Läs hjulräknare 30 ms 1 ms S, Styr (slingsens./motor) 20 ms 3 ms B, Beräkna/skicka pos 100 ms 22 ms Skriv ned tiderna ovan. Välja preemtive eller non-preemptive? Vilka ska i så fall bryta? Gör en schemaläggning. Realtidsprog. - Anders Arvidsson 5
6 Risker med schemaläggningen Hur väl dokumenterade är exekveringstiderna? Realtidsprog. - Anders Arvidsson 6
7 Laboration Exekveringstid long var_1, var_2; // 32 bit integer void Multiplikation(void) { produkt = var_1 * var_2; } // Multiplicera variablerna var_1 = 2; var_2 = ; => 96 cykler var_1 = ; var_2 = 2; => 816 cykler var_1 = 8192; var_2 = 8192; => 348 cykler var_1 = 8191; var_2 = 8191; => 483 cylker Worst case??? Realtidsprog. - Anders Arvidsson 7
8 Laboration Exekveringstid, assemblerkod char var_1, var_2, produkt; void Multiplikation(void){ produkt = var_1 * var_2; } // 8 bit unsigned integer // Multiplicera variablerna Kompilerad till assembler (*.as): ;g:\picfil\demo\demokod.c: 81: produkt = var_1 * var_2; line 81 movf (((_var_2))),w movwf btemp+1 ;var_2 till RAM movf (((_var_1))),w ;var_1 till Working reg global lbmul fcall lbmul ;Subrutin lbmul movwf (((_produkt))) ;Working reg till produkt Realtidsprog. - Anders Arvidsson 8
9 Laboration Exekveringstid, assemblerbibliotek Förkortad bmul.as: lbmul SELTEMP movlw 0 ;initialize product loop btfsc plier,0 ;skip if multiplier lsb not set addwf btemp,w ;add multiplicand bcf STATUS,C ;clear carry rlf btemp ;shift multiplicand up bcf STATUS,C ;clear carry again rrf plier ;shift multiplier down tstfsz plier ;stor inverkan på tid, styr loop goto loop return psect temp,global,class=bank0,space=1,ovrld btemp ds 1 plier ds 1 end Realtidsprog. - Anders Arvidsson 9
10 Laboration Kompilatorns inverkan Kompilering av laborationens program, long integer ( 517) words total Program ROM ( 39) bytes total Bank 0 RAM ( 8) bits total Bank 0 Bits Exekveringstid (Huvudprg): 1328 cykler Kompilering av samma program med optimering ( 438) words total Program ROM ( 39) bytes total Bank 0 RAM ( 8) bits total Bank 0 Bits Exekveringstid (Huvudprg): 1271 cykler ROM -15%, Exekveringstid 4,3% Realtidsprog. - Anders Arvidsson 10
11 Risker med schemaläggningen Vad händer om B tar 27 ms? (Hårda krav gäller för H, positionen tappas om hjulräknaren slår runt). Realtidsprog. - Anders Arvidsson 11
12 Schemaläggning Task Periodtid Exekveringstid K, Krocksensor 10 ms 50 μs H, Läs hjulräknare 30 ms 1 ms S, Styr (slingsens./motor) 20 ms 3 ms B, Beräkna/skicka pos 100 ms 22 ms Gör en ny schemaläggning där K, S och H bryter. Realtidsprog. - Anders Arvidsson 12
13 Att tänka på Hur sätta prioritet? Snabbast? Viktigast? Risk för överlast? T ex svält (ingen CPU-tid över till lågprioriterade tasks) Hur förhindra inkonsistent data? Interrupt använder halvfärdig data Det tar flera asm-instruktioner att räkna upp en int (t ex var++;). Vad händer om ISR bryter och läser var? Realtidsprog. - Anders Arvidsson 13
14 Att tänka på Risk för baklås? Se skydd mot inkonsistent data. Vid ogenomtänkt skydd kan flera rutin låsa data i en cirkel som förhindrar någon kan bli klar. Prioritetsinvertering? Kan lågprioriterade rutiner låsa data så högprioriterade ändå måste låta dem köra klart först? Se fler begrepp i kursbok och övrig litteratur. Realtidsprog. - Anders Arvidsson 14
15 Realtidsoperativsystem (RTOS) Aktiverar task (schemaläggning, avbrott) Hanterar tid (periodicitet via timer) Sköter kommunikation mellan task (brevlådor) I/O-hantering (man skriver bara flyttbar kod) Drivrutiner Felhantering Fler funktioner beroende på val av OS. Realtidsprog. - Anders Arvidsson 15
16 Vad är ett realtidssystem? Realtidsprogrammering En introduktion - Principer och begrepp Ett system som reagerar på yttre händelser och ger svar inom en bestämd tid. Observera händelse Utvärdera händelse Agera Korrekt beteende inkluderar både resultat och tid för presentation. Krav på samplingsfrekvens Krav på uppdateringsfrekvens (utdata) Krav på svarstider Realtidsprog. - Anders Arvidsson 1 Realtidsprog. - Anders Arvidsson 2 Olika typer av realtidssystem (RTS) Händelsestyrda vs Tidsdrivna Schemaläggning Mjuka vs Hårda Mix: t ex GSM-telefon Preemtive, non-preemtive Robot som ska följa slinga och visa position på en PC Krocksensor Hjulräknare Analog slingdetektor Radiomodem Motordrivkort Realtidssystem? Hårt/Mjukt system? Realtidsprog. - Anders Arvidsson 3 Realtidsprog. - Anders Arvidsson 4 Schemaläggning Task Periodtid Exekveringstid K, Krocksensor 10 ms 50 μs H, Läs hjulräknare 30 ms 1 ms S, Styr (slingsens./motor) 20 ms 3 ms B, Beräkna/skicka pos 100 ms 22 ms Risker med schemaläggningen Hur väl dokumenterade är exekveringstiderna? Skriv ned tiderna ovan. Välja preemtive eller non-preemptive? Vilka ska i så fall bryta? Gör en schemaläggning. Realtidsprog. - Anders Arvidsson 5 Realtidsprog. - Anders Arvidsson 6 1
17 Laboration Exekveringstid long var_1, var_2; void Multiplikation(void) { produkt = var_1 * var_2; } // 32 bit integer var_1 = 2; var_2 = ; => 96 cykler var_1 = ; var_2 = 2; => 816 cykler var_1 = 8192; var_2 = 8192; => 348 cykler var_1 = 8191; var_2 = 8191; => 483 cylker // Multiplicera variablerna Laboration Exekveringstid, assemblerkod char var_1, var_2, produkt; void Multiplikation(void){ produkt = var_1 * var_2; } // 8 bit unsigned integer // Multiplicera variablerna Kompilerad till assembler (*.as): ;g:\picfil\demo\demokod.c: 81: produkt = var_1 * var_2; line 81 movf (((_var_2))),w movwf btemp+1 ;var_2 till RAM movf (((_var_1))),w ;var_1 till Working reg global lbmul fcall lbmul ;Subrutin lbmul movwf (((_produkt))) ;Working reg till produkt Worst case??? Realtidsprog. - Anders Arvidsson 7 Realtidsprog. - Anders Arvidsson 8 Laboration Exekveringstid, assemblerbibliotek Laboration Kompilatorns inverkan Förkortad bmul.as: lbmul SELTEMP movlw 0 ;initialize product loop btfsc plier,0 ;skip if multiplier lsb not set addwf btemp,w ;add multiplicand bcf STATUS,C ;clear carry rlf btemp ;shift multiplicand up bcf STATUS,C ;clear carry again rrf plier ;shift multiplier down tstfsz plier ;stor inverkan på tid, styr loop goto loop return psect temp,global,class=bank0,space=1,ovrld btemp ds 1 plier ds 1 end Kompilering av laborationens program, long integer ( 517) words total Program ROM ( 39) bytes total Bank 0 RAM ( 8) bits total Bank 0 Bits Exekveringstid (Huvudprg): 1328 cykler Kompilering av samma program med optimering ( 438) words total Program ROM ( 39) bytes total Bank 0 RAM ( 8) bits total Bank 0 Bits Exekveringstid (Huvudprg): 1271 cykler ROM -15%, Exekveringstid 4,3% Realtidsprog. - Anders Arvidsson 9 Realtidsprog. - Anders Arvidsson 10 Risker med schemaläggningen Vad händer om B tar 27 ms? (Hårda krav gäller för H, positionen tappas om hjulräknaren slår runt). Schemaläggning Task Periodtid Exekveringstid K, Krocksensor 10 ms 50 μs H, Läs hjulräknare 30 ms 1 ms S, Styr (slingsens./motor) 20 ms 3 ms B, Beräkna/skicka pos 100 ms 22 ms Gör en ny schemaläggning där K, S och H bryter. Realtidsprog. - Anders Arvidsson 11 Realtidsprog. - Anders Arvidsson 12 2
18 Att tänka på Hur sätta prioritet? Snabbast? Viktigast? Risk för överlast? T ex svält (ingen CPU-tid över till lågprioriterade tasks) Hur förhindra inkonsistent data? Interrupt använder halvfärdig data Det tar flera asm-instruktioner att räkna upp en int (t ex var++;). Vad händer om ISR bryter och läser var? Att tänka på Risk för baklås? Se skydd mot inkonsistent data. Vid ogenomtänkt skydd kan flera rutin låsa data i en cirkel som förhindrar någon kan bli klar. Prioritetsinvertering? Kan lågprioriterade rutiner låsa data så högprioriterade ändå måste låta dem köra klart först? Se fler begrepp i kursbok och övrig litteratur. Realtidsprog. - Anders Arvidsson 13 Realtidsprog. - Anders Arvidsson 14 Realtidsoperativsystem (RTOS) Aktiverar task (schemaläggning, avbrott) Hanterar tid (periodicitet via timer) Sköter kommunikation mellan task (brevlådor) I/O-hantering (man skriver bara flyttbar kod) Drivrutiner Felhantering Fler funktioner beroende på val av OS. Realtidsprog. - Anders Arvidsson 15 3
Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)
Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt
Läs merINGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN
Dagens föreläsning Inbyggnadsprocessorer - och programmering ❾ Översikt PIC-processorn ❿ Familj ❿ Flash / EPROM ❿ Introduktion: 16F84 ❾ ❿ Harvard / von Neumann ❿ CISC / RISC ❿ Pipelining ❾ Programmering
Läs merLathund. C för inbyggda system
Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4
Läs mer#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;
Att avlusa en rad Assembler tar lika lång tid som att avlusa en rad C. Att skriva i C gör att man är utlämnad till kompilatorns sätt att göra assembler koden. Assembler ger fullständig kontroll över tider.
Läs merLathund. C för inbyggda system
Lathund C för inbyggda system Revision 2 2001-04-13 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion... 3 1.1 Assembler kontra C... 3 1.2 Kodexempel... 3 1.3
Läs merÖvningsuppgifter i Mikrodatorteknik för U2
i Mikrodatorteknik för U2 Skriv instruktioner som utför följande operationer (angivna tal antas givna i hexadecimal form om inget annat anges): 1. (0x20) + 25 (0x30) 2. (0x22) - (0x31) (0x25) 3. (w) +
Läs merSystemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
Läs merF5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
Läs merF5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Läs merÖvningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010
STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB
Läs merDatorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Läs mer'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ
'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ / VQLQJDURFKNRPPHQWDUHU Program: Elektroteknik, mikrodatorsystem Datum: 99-11-02 Tid: 8:00-9:30 Lokal E448 Hjälpmedel: Bilagor: Examinator: Miniräknare, linjal Datablad för
Läs merHantering av textsträngar och talsträngar. William Sandqvist
Hantering av textsträngar och talsträngar Strängen Hello world! PIC-processorerna lagrar strängkonstanter med bokstäverna inbakade i en följd av instruktioner (en tabell). Man hämtar en bokstav genom att
Läs merLaboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
Läs merLEU240 Mikrodatorsystem
Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program
Läs merKursplanering för Mikrodatorteknik 4p/5p
Kursplanering för Mikrodatorteknik 4p/5p Kursansvarig: Benny Thörnberg Tel: 060-148917 E-post: benny.thornberg@miun.se Kurslitteratur: Rune Körnefors, Mikrodatorer bit för bit, ISBN 91-44-30862-0 Introduktion
Läs merLathund. Pacific C för MS-DOS
Lathund Pacific C för MS-DOS Revision 2 2003-08-28 Anders Arvidsson Karl-Johan Krantz Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 PACIFIC
Läs merRealtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6
Realtidssystem - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial
Läs merAVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Läs merTentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-01-09 Tid: 08:00-13:00 Lokal: E103 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merTentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Läs merLista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar
Läs merHögskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merEDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)
EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar
Läs merConstruction of a laboration card with the PIC-processor
Examensarbete LITH-ITN-EX--02/248--SE Construction of a laboration card with the PIC-processor Department of Science and Technology Linköpings Universitet SE-601 74 Norrköping, Sweden Institutionen för
Läs merFö 5+6 TSEA81. Real-time kernel + Real-time OS
Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar
Läs merGrundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Läs merProgramexempel för FLEX
Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda
Läs merMaskinorienterad programmering
Maskinorienterad programmering Sammanfattning Ur innehållet: Vi rekapitulerar kursens syften Vi repeterar kursens lärandemål Vi belyser hur den skriftliga delen av examinationen genomförs. Sammanfattning
Läs merI denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.
Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:
Läs merElektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Läs merÖversikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
Läs merRealtidssystem. - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6
Realtidssystem - Schemaläggning - EDA698 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Stora delar baserad på: Föreläsningsmaterial EDA040 (Klas Nilsson, Mathias Haage) samt EDA698 (Mats Lilja)
Läs merProgrammering av inbyggda system. Kodningskonventioner. Viktor Kämpe
Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK
Läs merRealtidssystem Z EDA300 Tentamen 15/ , kl i V-huset
Realtidssystem Z EDA300 Tentamen 15/12 2005, kl. 08.30 12.30 i V-huset Examinator: Docent Jan Jonsson Förfrågningar: Docent Jan Jonsson Telefon: 031 772 5220 Hjälpmedel: Utdrag ur Ada 95 Reference Manual
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-10-20 Lokal TERE, TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-10-26 Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merKompletterande kompendium till kursen Realtidsprogrammering
Kompletterande kompendium till kursen Realtidsprogrammering Mathias Broxvall, Lars Karlsson Örebro Universitet Januari 2010 v2010.1 1 2 Innehåll Innehåll...1 Processer i VxWorks...2 Multitasking...2 Ett
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs merEtt program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.
CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 2006-10-05 Naxos Pollning Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. En
Läs merExempelsamling Assemblerprogrammering
Exempelsamling Assemblerprogrammering I uppgifterna nedan utgå från följande programskelett: #include.data var1:.word 12 var2:.word 19 sum: prod:.float 0.set noreorder.text.globl start.ent start
Läs merBakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
Läs merTentamen i Realtidsprogrammering för Au3, D3, E3
Tentamen i Realtidsprogrammering för Au3, D3, E3 Ordinarie Tentamen Datum: 2005-10-21 Tid: 14:00-19:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal
Läs merProgrammering av inbyggda system 2014/2015
Programmering av inbyggda system 2014/2015 Sammanfattning Kursens syften är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer
Läs merGrundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Läs merVärde och typ? Problem. Vad skrivs ut? Referenssematik (1) Joachim von Hacht. Förklara (i detalj)! int x; int y; x = y = 1; out.println(x + ":" + y);
Värde och typ? Vilket värde och vilken typ har uttrycken vi skriver ut? Problem Joachim von Hacht out.println( 5 / 2 ); // 1 out.println( 5.0 / 2 ); // 2 out.println( 5 / 2 == 5.0 / 2 ); // 3 out.println('5'
Läs merTentamen Datorteknik Y, TSEA28 Datum 2012-08-14
Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 7 Kursansvarig Andreas
Läs merDatorprojekt, del 1. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 1 Projektet består i att skapa en klocka där tiden visas
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs mer22/02/16. Arduino Introduktion till Arduino. Arduino. Microcontroller - Embedded systems. Historia Organisation - Ekosystem
22/02/16 Arduino Introduktion till Arduino Historia Organisation - Ekosystem ANDERS J JOHANSSON Hårdavara Mjukvara Kringkomponenter Tips Demos! Microcontroller - Embedded systems Inbyggda system Processing
Läs merFöreläsningsanteckningar till Konstruktionsmetoder 981027
Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merIntroduktion C-programmering
Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder
Läs merAnsvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
Läs merAssemblerprogrammering för ARM del 2
Assemblerprogrammering för ARM del 2 Ur innehållet Programflöde Subrutiner, parametrar och returvärden Tillfälliga (lokala) variabler Läsanvisningar: Arbetsbok kap 2 Quick-guide, instruktionslistan Assemblerprogrammering
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merOmtentamen i Realtidsprogrammering för Au3, D3, E3
Omtentamen i Realtidsprogrammering för Au3, D3, E3 Datum: 2004-01-14 Tid: 0800-1300 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Inga särskilda hjälpmedel är tillåtna. Poäng: Tentamen omfattar 40
Läs merRealtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys
Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03
Läs merTentamen Lösningar EDA698 Realtidssystem
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Lösningar EDA698 Realtidssystem 13 10 22, 14:00 19:00 1. Prioriteter, korrekthet a) Realtidsproblemet kvarstår. Det finns ingen garanti
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merVår väg till Godkänt, och sedan vidare...
Grunder i programmering Vår väg till Godkänt, och sedan vidare... Ett väl utfört arbete ger en inre tillfredsställelse, och är den grund varpå samhället vilar. Karl-Bertil Jonsson ii Grunder i programmering
Läs merÖvning 7. Timer, serieport
Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merAssemblerprogrammering - fördjupning
Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merEffektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Läs merTentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 03-08-17 Tid: 10:00-15:00 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merPC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg
Läs merExam Concurrent and Real-Time Programming
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Exam Concurrent and Real-Time Programming 2018 08 23, 14.00 19.00 1. Vad är prioritetsinversion? Illustrera med ett enkelt exempel. Redogör
Läs merTENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62
TENTAMEN I REALTIDSPROCESSER OCH REGLERING TTIT62 Tid: Tisdagen den 2 juni 27, kl 4.-8. Lokal: TER Ansvariga lärare: Inger Klein, 28 665 eller 73-9699, Calin Curescu, 28 937 eller 73-54355 Hjälpmedel:
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merF4: Assemblerprogrammering
F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merDatorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000
1(6) Lösningar till tentamen i kursen EDA330 Datorsystemteknik D 14/1 2000 Följande är skisser till lösningar av uppgifterna. Full poäng på en uppgift kräver i de flesta fall en något fylligare motivering.
Läs merGPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner
GPT föreläsning 8 Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner Denna gång Reflektioner kring OU1 Funktioner Reflektioner
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merRealtidsprogrammering Ordinarie tentamen
Tentamen i Realtidsprogrammering Ordinarie tentamen Datum: 2006-10-20 Tid: 08:00 13:00 Ansvarig lärare: Telefon: 1438 (kontor) Hjälpmedel: Miniräknare Poäng: Tentamen omfattar 40 poäng fördelade på 7 uppgifter.
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
Läs merEnchipsdatorer med tillämpningar LABORATION 7, ROBOT
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog
Läs merLaboration nr2 med enchipsdatorn PIC-16F877
Laboration nr2 med enchipsdatorn PIC-16F877 Inledning Målet med laborationen är främst att bli bekant med skift-, villkorliga- och ovillkorligaoperationer samt hur man strukturerar enklare flödesscheman.
Läs merUlf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volafle, #define Arrayer av pekare, arrayer av arrayer Hemuppgi9er: v2. Föregående
Läs merRepetition C-programmering
Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merProgrammering av NXT Lego- robot Labbrapport för programmering av en Lego- robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning
Läs merCPU. Carry/Borrow IX. Programräknare
Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merTentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-05-19 Tid: 13:30-18:30 Lokal: E104 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merStack och subrutiner Programmeringskonventionen
Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp
Läs merLaborationens mål är att få displayen att visa timmar, minuter och sekunder samt att kunna ställa klockan.
Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 3 Projektlaboration 3, hantering av klocka. Laborationsuppgifter:
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs mer