SlideServe
Menu
Préférences
© SlideServe · v2026

DEVICE DRIVER

dillian avatar
10 diapositives · 626 Views · Sep 07, 2012

DEVICE DRIVER. VINOD KAMATH CS691X PROJECT WORK. Introduction. How to write/install device drivers Systems, Kernel Programming Character, Block and Network devices. Tasks involved. Building and Running modules Character device drivers. Building device driver module.

DEVICE DRIVER - slide 1
01 / 10DEVICE DRIVER
1 / 17

Télécharger la présentation

DEVICE DRIVER
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. DEVICE DRIVER VINOD KAMATH CS691X PROJECT WORK

  2. Introduction • How to write/install device drivers • Systems, Kernel Programming • Character, Block and Network devices

  3. Tasks involved • Building and Running modules • Character device drivers

  4. Building device driver module • Module vs. Applications • Appln - single task • Module - register for future • Compiling and Loading • ___KERNEL__, MODULE • insmod,rmmod • Global var-Symtab • Do in Kernel space (not User space) • response time; block/network devs

  5. Character device drivers • Scull - Simple Char. Util. for Loading Localities • Acts on mem. Area as though it is a device • Demonstrate interface betn. Kernel and Char drivers • n devices for n mem. areas • Major/Minor no.- (un)register chr_dev

  6. Design and implementation of Scull • File operations/structure • Device id. By file structure • Kenerl uses file ops. To access driver’s functions • Open and Close • Initialize device, usage count, • Memory • Device-memory Link List • Read and Write • Transfer data from Kernel-User • Testing/Debugging • cp, cat, dd wls-l > dev/scull0

  7. Examples-Hello World • #define MODULE • #include <linux/module.h> • int init_module (void) {printk(“<1>Hello, World\n”); return 0} • void cleanup_module {printk(“<1>Goodbye, cruel World\n”);}

  8. Examples-Scull • #define MODULE, __KERNEL__ • #include <linux/module.h>…. • Struct file_operations d0_fops = {r,w,o,c } • int init_module (void) {malloc, reg do_fops} • void cleanup_module (unreg, free...);l

  9. Conclusions • Writing device drivers is not for faint heart/Adventure • Very careful with Kernel codes

  10. Future work • Try Advanced drivers, Scheduling • Understand principle for multi user