xcalbet@yahoo.es
"Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers?"
Linus Torvalds
Licencia
Copyright (C) 2001 Xavier Calbet.
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation. Puede consultar una copia de la licencia en: http://www.gnu.org/copyleft/fdl.html
Para realizar drivers para Linux es necesario unos conocimientos previos mínimos que son:
Programar en C. Es necesario conocer de forma relativamente profunda la programación en C como los punteros, funciones de manipulación de bits, etc.
Nociones de funcionamiento de los microprocesadores. Es necesario tener nociones del funcionamiento interno de los microordenadores tales como el direccionamiento de memoria, interrupciones, etc. Sabiendo programar en ensamblador todos estos conceptos resultarán familiares.
Existen varios tipos de dispositivos diferentes en Linux. Por sencillez, en este breve tutorial veremos los dispositivos tipo char cargados como módulos. Se utilizará la versión del kernel 2.2.x (en concreto la 2.2.14), aunque los módulos funcionarán con modificaciones pequeñas o nulas en la versión 2.4.x.
Siguiente | ||
Espacio de usuario ("user space") y espacio de kernel ("kernel space") |