SlideShare una empresa de Scribd logo
1 de 12
03/15/06
Programación de drivers en Linux
Ing. Carlos Hernández Cenzano
2
Tipos de Dispositivos
• Dispositivos de caracter (byte): puerto serial, puerto paralelo,
teclado, etc. Transfieren la información byte por byte.
• Dispositivos de bloques: unidades de discos duros, unidades de
discos flexibles, tarjeta de , etc. Transfieren la información por
bloques.
• Dispositivos de red: tarjetas ethernet, tarjetas WiFi, etc.
3
Archivos especiales de caracter y bloque
4
Interfaces de los dispositivos de red
5
El archivo especial
Tipo de
Archivo
especial Identificador
de tipo de
dispositivo
MAJOR NUMBER
Número de
dispositivo de un
tipo
MINOR NUMBER
6
¿Cómo se accede a los dispositivos con archivos
especiales?
• Como si se tratase de archivos ordinarios:
– fopen
– fread
– fwrite
– fclose
• excepto por ioctl (Input / Output Control)
– ioctl se utiliza para dar comandos al dispositivo, por ejemplo para
un puerto serial se tiene los comandos: TIOCMGET, TIOCMBIS,
TIOCMBIC, TIOCMSET, TIOCSBRK y TIOCCBRK. (Serial
HOWTO http://www.tldp.org/HOWTO/Serial-HOWTO.html)
7
¿Qué incluye un driver?
• Registrar el driver del dispositivo (insmod) MAJOR NUMBER
• Retirar el registro del driver del dispositivo (rmmod)
• Usar el dispositivo (fopen)
• Comandos de control (ioctl)
• Operación de lectura (fread)
• Operación de escritura (fwrite)
• Dejar el dispositivo (fclose)
8
Compilar driver.c
• Makefile
obj-m += driver.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
• # make all
9
Crear el dispositivo especial
mknod
• Para la primera versión de chardev.c de The Linux Kernel Module
Programming Guide
mknod /dev/chardev c 254 0
Identificador
de tipo de
dispositivo
MAJOR NUMBER
Número de
dispositivo de un
tipo
MINOR NUMBER
Tipo de
Archivo
especial
10
¿Qué se necesita para programar un driver?
• Concocimientos de Lenguaje C
• Uso de las sentecias para E/S outb, outw, outl, etc.
• Compilador gcc
• Librerías, código fuente del kernel
• La información técnica del dispositivo.
• Conocimientos sobre el bus del dispositivo ISA, PCI, etc.
11
Lab PC + / Lab PC 1200 (ISA)
12
Referencias
• The Linux Kernel Module Programming Guide
http://www.tldp.org/LDP/lkmpg/
• Linux Device Drivers, Third Edition
Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Hadware cetis 109
Hadware cetis 109Hadware cetis 109
Hadware cetis 109
 
Un caso Forense: Analizando un servidor Linux
Un caso Forense: Analizando un servidor LinuxUn caso Forense: Analizando un servidor Linux
Un caso Forense: Analizando un servidor Linux
 
La Computadora y sus Partes
La Computadora y sus PartesLa Computadora y sus Partes
La Computadora y sus Partes
 
Acta de entrega de equipos 2
Acta de entrega de equipos 2Acta de entrega de equipos 2
Acta de entrega de equipos 2
 
Placas
PlacasPlacas
Placas
 
Informe Equipo 10 (Gigabyte Ga M55s S3) (Daniel Troncoso Meis)
Informe Equipo 10 (Gigabyte Ga M55s S3) (Daniel Troncoso Meis)Informe Equipo 10 (Gigabyte Ga M55s S3) (Daniel Troncoso Meis)
Informe Equipo 10 (Gigabyte Ga M55s S3) (Daniel Troncoso Meis)
 
Acta de entrega de equipos 1
Acta de entrega de equipos 1Acta de entrega de equipos 1
Acta de entrega de equipos 1
 
Hardware
HardwareHardware
Hardware
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Placa base1
Placa base1Placa base1
Placa base1
 
Accesorios
AccesoriosAccesorios
Accesorios
 
Disco duro
Disco duroDisco duro
Disco duro
 
Corrección del examen 2do trimestre
Corrección del examen 2do trimestreCorrección del examen 2do trimestre
Corrección del examen 2do trimestre
 
Practica 1-Placa Base
Practica 1-Placa BasePractica 1-Placa Base
Practica 1-Placa Base
 
Hardware Interno - Prof. Jorge Sastre
Hardware  Interno - Prof. Jorge SastreHardware  Interno - Prof. Jorge Sastre
Hardware Interno - Prof. Jorge Sastre
 
La mainboard
La mainboardLa mainboard
La mainboard
 
Cpu -z
Cpu -zCpu -z
Cpu -z
 
Corrección del examen 2do trimestre
Corrección del examen 2do trimestreCorrección del examen 2do trimestre
Corrección del examen 2do trimestre
 
Mantenimiento primer dia
Mantenimiento primer diaMantenimiento primer dia
Mantenimiento primer dia
 
Motherboard
MotherboardMotherboard
Motherboard
 

Similar a Programación de drivers en linux

Programa para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mPrograma para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mAndres Rodriguez
 
Programa para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mPrograma para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mAndres Rodriguez
 
Equivalencia de sw libre
Equivalencia de sw libreEquivalencia de sw libre
Equivalencia de sw libreMiguel Leyva
 
Partes internas-del-computador-de-escritorio-presentacion final
Partes internas-del-computador-de-escritorio-presentacion finalPartes internas-del-computador-de-escritorio-presentacion final
Partes internas-del-computador-de-escritorio-presentacion finalMarilyn Cuasapas
 
2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojedaJuli Ojeda
 
2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojedaJuli Ojeda
 
Guía de investigación n1
Guía de investigación n1Guía de investigación n1
Guía de investigación n1carolinapeter
 
Nati Y Cielo Jajajajajajaja
Nati Y Cielo JajajajajajajaNati Y Cielo Jajajajajajaja
Nati Y Cielo JajajajajajajaMarce Strahl
 
Placa base
Placa basePlaca base
Placa basejnk
 
Placa base
Placa basePlaca base
Placa basejnk
 
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]RootedCON
 
Modalidad Informatica
Modalidad Informatica Modalidad Informatica
Modalidad Informatica Laura Cely
 

Similar a Programación de drivers en linux (20)

Hardware
HardwareHardware
Hardware
 
Programa para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mPrograma para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2m
 
Programa para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2mPrograma para el diagnostico de los componentes del pc y red 10.2m
Programa para el diagnostico de los componentes del pc y red 10.2m
 
Equivalencia de sw libre
Equivalencia de sw libreEquivalencia de sw libre
Equivalencia de sw libre
 
Mainboards 2014
Mainboards 2014Mainboards 2014
Mainboards 2014
 
Partes internas-del-computador-de-escritorio-presentacion final
Partes internas-del-computador-de-escritorio-presentacion finalPartes internas-del-computador-de-escritorio-presentacion final
Partes internas-del-computador-de-escritorio-presentacion final
 
2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda
 
Informe de práctica
Informe de prácticaInforme de práctica
Informe de práctica
 
2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda2°e guia de investigacion n°1 ojeda
2°e guia de investigacion n°1 ojeda
 
Guía de investigación n1
Guía de investigación n1Guía de investigación n1
Guía de investigación n1
 
Nati Y Cielo Jajajajajajaja
Nati Y Cielo JajajajajajajaNati Y Cielo Jajajajajajaja
Nati Y Cielo Jajajajajajaja
 
Pc hardware
Pc hardwarePc hardware
Pc hardware
 
Placa base
Placa basePlaca base
Placa base
 
Placa base
Placa basePlaca base
Placa base
 
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
 
Modalidad Informatica
Modalidad Informatica Modalidad Informatica
Modalidad Informatica
 
Hardware
HardwareHardware
Hardware
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
 
Hardware & Software
Hardware & SoftwareHardware & Software
Hardware & Software
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (19)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Programación de drivers en linux

  • 1. 03/15/06 Programación de drivers en Linux Ing. Carlos Hernández Cenzano
  • 2. 2 Tipos de Dispositivos • Dispositivos de caracter (byte): puerto serial, puerto paralelo, teclado, etc. Transfieren la información byte por byte. • Dispositivos de bloques: unidades de discos duros, unidades de discos flexibles, tarjeta de , etc. Transfieren la información por bloques. • Dispositivos de red: tarjetas ethernet, tarjetas WiFi, etc.
  • 3. 3 Archivos especiales de caracter y bloque
  • 4. 4 Interfaces de los dispositivos de red
  • 5. 5 El archivo especial Tipo de Archivo especial Identificador de tipo de dispositivo MAJOR NUMBER Número de dispositivo de un tipo MINOR NUMBER
  • 6. 6 ¿Cómo se accede a los dispositivos con archivos especiales? • Como si se tratase de archivos ordinarios: – fopen – fread – fwrite – fclose • excepto por ioctl (Input / Output Control) – ioctl se utiliza para dar comandos al dispositivo, por ejemplo para un puerto serial se tiene los comandos: TIOCMGET, TIOCMBIS, TIOCMBIC, TIOCMSET, TIOCSBRK y TIOCCBRK. (Serial HOWTO http://www.tldp.org/HOWTO/Serial-HOWTO.html)
  • 7. 7 ¿Qué incluye un driver? • Registrar el driver del dispositivo (insmod) MAJOR NUMBER • Retirar el registro del driver del dispositivo (rmmod) • Usar el dispositivo (fopen) • Comandos de control (ioctl) • Operación de lectura (fread) • Operación de escritura (fwrite) • Dejar el dispositivo (fclose)
  • 8. 8 Compilar driver.c • Makefile obj-m += driver.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean • # make all
  • 9. 9 Crear el dispositivo especial mknod • Para la primera versión de chardev.c de The Linux Kernel Module Programming Guide mknod /dev/chardev c 254 0 Identificador de tipo de dispositivo MAJOR NUMBER Número de dispositivo de un tipo MINOR NUMBER Tipo de Archivo especial
  • 10. 10 ¿Qué se necesita para programar un driver? • Concocimientos de Lenguaje C • Uso de las sentecias para E/S outb, outw, outl, etc. • Compilador gcc • Librerías, código fuente del kernel • La información técnica del dispositivo. • Conocimientos sobre el bus del dispositivo ISA, PCI, etc.
  • 11. 11 Lab PC + / Lab PC 1200 (ISA)
  • 12. 12 Referencias • The Linux Kernel Module Programming Guide http://www.tldp.org/LDP/lkmpg/ • Linux Device Drivers, Third Edition Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman