Tircms02-p les 7 systemcalls linux vervolg. Inleiding Onder /usr/include/linux staan bestanden die de linuxkernel o.a. gebruikt om drivers aan te spreken.

Slides:



Advertisements
Verwante presentaties

Advertisements



Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.

Embedded systemen Embedded software.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Website Lijm en Hechting Een rondleiding door de website en de Adobe zoekfunctie.
Inleiding programmeren in C++ Life Science & Technology 23 februari Universiteit Leiden.
Deze presentatie mag noch geheel, noch gedeeltelijk worden gebruikt of gekopieerd zonder de schriftelijke toestemming van Seniornet Vlaanderen VZW Voorjaar.
Lesdoelstellingen Op het einde van deze les ken je:
Gestructureerd programmeren in C
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Real-Time Systems (RTSYST) Week 1. 2 Real-Time Systems (RTSYST) Onderwerpen: Concurrent programming (threads). Real-Time OS (VxWorks, QNX, FreeRTOS).
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
Corba Overzicht. Corba referenties Belangrijkste: CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments (Steve Vinoski)
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Enumerate typedef struct union functiepointers 1.
Project Software Engineering Universiteit AntwerpenBetrouwbaarheid 2.1 Ontdek de 7 verschillen.
Conditionele expressie

1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Algoritmen en Datastructuren (ALDAT) EVMINX4 Week 6.
Algoritmen en Datastructuren (ALDAT) EVMINX4 Dagdeel 2.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
C++ handboek : C++ Leen Ameraal 6e druk academic service.
Inleiding programmeren in C++ Life Science & Technology 2 februari Universiteit Leiden.
Inleiding programmeren in C++ Life Science & Technology 9 februari Universiteit Leiden.
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Mail: Jan Zuurbier  Mail:
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
HM-ES-th1 Les 12 Hardware/Software Codesign with SystemC.
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
BIOS en Opstarten.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
tircms02-p les 1 Operating Systems practicum
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: Sheets.
Java C++ nVeilig nMachine- onafhankelijk nVeel libraries, ook voor Internet-I/O Snel Native executables Libraries optimaal voor specifiek OS.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
Relatie geschenk.
De laatste essentiele dingen.  Classes ◦ Syntax ◦ Constructors & Destructors  Header & Source Files ◦ Waar gebruiken we dit voor  Compiler Theorie.
Graphics, input & more!.  Graphics  Input  Sound  … game loop?
Embedded systemen Programmeren op de Arduino Les 7 kleuren festijn.
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
LPI 2010 NLLGG Trainer: Jeroen van Pelt Bijeenkomst 1: Inleiding (Kennismaken met Linux)
18 Februari 2013 Where friends have access to your privates!
Pointers, arrays & dynamische geheugen
De programmeertaal C++
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les5 Invoer en Uitvoer.
Tinpro015b-les4 Klassen.
S N V WORD-2007 voor BEGINNERS Microsoft Word-2007.
Transcript van de presentatie:

tircms02-p les 7 systemcalls linux vervolg

Inleiding Onder /usr/include/linux staan bestanden die de linuxkernel o.a. gebruikt om drivers aan te spreken. Een voorbeeldprogramma om de lade van de CD –ROM te openen

Voorbeeld CDROM 1 Declaraties: #include int main(int argc,char **argv)

Voorbeeld CDROM 2 { int cdrom; if ((cdrom = open("/dev/cdrom",O_RDONLY)) <0) { perror("open"); exit(1); } if (ioctl(cdrom,CDROMEJECT,0)<0) { perror("ioctl"); exit(1); } if (ioctl(cdrom,CDROMCLOSETRAY,0)<0) { perror("ioctl"); exit(1);}}

Voorbeeld CDROM 3 Met dit programma wordt de lade van de cd geopend en gesloten. (De functie perror() wordt vaak gebruikt om de foutberichten die het systeem doorgeeft, uit te printen.) Zoals je ziet wordt hier de system call 'ioctl' gebruikt. Als je nu kijkt in het bestand /usr/include/linux/cdrom.h zie je nog meer zogenaamde IOCTL functies die je naar een cdrom kunt sturen.

OPGAVEN LES 7 1) Test het programma uit zodat de lade van de CD_ROM open of dicht gaat 2) Plaats een cd in je cd drive en schrijf een programma dat bepaalt welk formaat op de cd staat(Audio, Data, XA, XA2). 3) Lever de opgaven de volgende week in ( week 8)