driver programming : the linux way

Post on 25-May-2015

389 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Hardware is a pain. This presentation give a birds eye view on the way to program drivers on a Linux Based Machine. video : https://www.youtube.com/watch?v=rr-lKnxLfB4 report : http://www.slideshare.net/shivekkhurana/driver-programming-report

TRANSCRIPT

Driver Programming

. Sa ha , . Sh e

us e Inno a on en eUn e s O De h

Hardware is complicated

1. Mu p e endo s2. Mu p e e s ons3. O e app n un ona4. No enou h sma p o amme s

HARDWARE

Drivers simplify them

1. So wa e oun e pa s o ha dwa e2. Hand e mu p e HW e s ons3. Hand e mu p e HW endo s4. Do h s a oss d e en OS(es)

DRI ER

Outline

1. The L nux e ne2. T pes o De e D e s( ene a )3. ha / B o De e D e s4. Ne wo In e a es5. Demo

Linux and Linus

1. W en b L nus To a ds (Un e s o He s n )

2. He wan ed a s s em be e han UNIX, and MINIX

3. “The a den a e o u ona .”

The Linux Device Paradigm

HARDWARE

The Linux Device Paradigm

HARDWAREERNEL

The Linux Device Paradigm

HARDWAREERNELUSER SPA E

The Linux Device Paradigm

HARDWAREERNELUSER SPA ESHELL

Drivers are

HARDWAREERNELDRI ER

The Linux Device Paradigm

HARDWAREERNELDRI ERUSER SPA E

The Linux Device Paradigm

HARDWAREERNELUSER SPA E

D nam Load n

The Linux Device Paradigm

HARDWAREERNELDRI ERUSER SPA E

D nam Load n

Types of drivers

1 00 11DRI ER1. ha De es

Types of drivers

DRI ER2. B o De es1 00 11

1 01 01

1 00 10

1 10 01

1 00 11

1 01 01

1 00 10

1 10 01

Types of drivers

DRI ER3. Ne wo In e a es T P/UDP P P

Driver is a module

E e e ne ex ens on s a Modu e

DRI ER

Driver is a module

E e e ne ex ens on s a Modu e

DRI ER MODULE

A device is represented as a file

And o ead/ w e he ph s a de e, we ead w e he e

USER SPA EDE I E FILEDRI ERERNELDE I E ONTROLLER

Process

HARDWARE

Programming Process

De e struct

s u u e o ho d da a pes o ommun a e w h he de es. Th s ma o espond o a ua p ns.

Programming Process

F e ope a ons

A de e o he use spa e s us a e. F e ope a ons maps e RUD o de e.

Programming Process

En po n s

The e s no main() n modu es. Be ause modu e s no an exe u ab e. So we need o de ne en po n s manua o oad de e.

Major Numbers

Ea h de e d e has a ma o numbe den e wh h s ass ned on un me and s un que o a de es

Execution Stack is small

No memo s a o a ed on un me. A memo s ese ed a exe u on

Makefile

make s a nux app a on ha omp es d e s (so wa es n ene a )

Attaching the module to kernel

nsmod ha _de e. om nod /de / ha _de e 251 0

Exit point

Ex po n s a so needs o de ned manua o ea up he used e ne spa e

User space program

Open de e e and pe o m use spa e n e a ons

Demo

top related