Red de conocimiento informático - Material del sitio web - Cómo agregar un controlador al kernel1. Pasos para compilar el controlador en el kernel Agregar un programa al kernel de Linux requiere completar las siguientes tres tareas: 1. Copie el código fuente escrito al directorio correspondiente al código fuente del kernel de Linux 2. Agregue las opciones de configuración de compilación del proyecto correspondientes al nuevo código fuente en el archivo Kconfig en el directorio 3. Agregue el nuevo código fuente al Makefile; archivo en el directorio Agregue una entrada de compilación. Los pasos específicos para compilar el controlador bq27501 en el kernel son los siguientes: 1. Primero, copie la carpeta del código del controlador bq27501 al directorio ti-davinci/drivers/. Determine dónde debe ubicarse el módulo del controlador bq27501 en el árbol de fuentes del kernel. Los controladores de dispositivo se almacenan en el subdirectorio drivers/ del directorio raíz del código fuente del kernel. Los archivos de controladores de dispositivo se organizan de manera ordenada según categorías y tipos. a.Los dispositivos de caracteres existen en el directorio drivers/char/. b. Los dispositivos de bloque se almacenan en el directorio drivers/blocks/. c. Los dispositivos USB se almacenan en el directorio drivers/usb/. Nota: (1) Las reglas de organización de archivos aquí no permanecen absolutamente sin cambios. Por ejemplo, los dispositivos USB también son dispositivos de caracteres y también pueden almacenarse en el directorio drivers/usb/. (2) En el directorio drivers/char/, hay una gran cantidad de archivos de código fuente C y muchos otros directorios. Todos los controladores de dispositivos con solo uno o dos archivos fuente se pueden almacenar directamente en este directorio, pero si el controlador contiene muchos archivos fuente y otros archivos auxiliares, se puede crear un nuevo subdirectorio. (3) El controlador de bq 27501 pertenece a la categoría de controlador de dispositivo de caracteres. Aunque sólo hay dos archivos relacionados con el controlador, para facilitar su visualización, los archivos relacionados se colocan en la carpeta BQ27501. El proceso de agregar un nuevo dispositivo al directorio drivers/char/ es relativamente simple, pero agregar un nuevo dispositivo directamente en drivers/ es un poco más complicado. Por lo tanto, primero se proporciona el proceso de agregar el controlador bq27501 en drivers/, y luego se explica brevemente el proceso de agregar el controlador en el directorio drivers/char/. 2. Cree un Makefile en /bq27501. Agregue el código: obj-$(Kconfig _ bq 27501) = bq 27501 o En este momento, el sistema de construcción se ejecutará en el directorio bq27501/ y bq27501.c se compilará en bq2750655. Agregue código: menú "bq 27501 driver" config bq 27501 ristate "bq 27501" ayuda y predeterminada - diga ' y ' aquí y se compilará en el kernel. Si selecciona ' m ', se compilará en un archivo llamado; Módulo de ASBQ27501.ko END MENU Nota: No puede agregar un retorno de carro al texto en la ayuda; de lo contrario, se producirá un error al compilar make menuconfig. 4. Modifique el archivo Kconfig en el directorio /drivers y agregue una declaración 'source drivers/bq 27501/Kconfig' antes del menú final. Para los controladores, kconfig suele estar en el mismo directorio que el código fuente. Si se crea un nuevo directorio y se espera que exista un archivo Kconfig en el directorio, se debe introducir en un archivo Kconfig existente y se debe montar en Kconfig en el directorio de controladores usando la declaración anterior. 5. Modifique el Makefile en /drivers y agregue 'obj-$(config _ bq 27501) = bq 27501/'. Esta línea de instrucciones de compilación le dice al sistema de compilación del módulo que vaya al subdirectorio bq27501/ al compilar el módulo. La compilación del controlador en este momento depende de una opción de configuración especial CONFIG_BQ27501.

Cómo agregar un controlador al kernel1. Pasos para compilar el controlador en el kernel Agregar un programa al kernel de Linux requiere completar las siguientes tres tareas: 1. Copie el código fuente escrito al directorio correspondiente al código fuente del kernel de Linux 2. Agregue las opciones de configuración de compilación del proyecto correspondientes al nuevo código fuente en el archivo Kconfig en el directorio 3. Agregue el nuevo código fuente al Makefile; archivo en el directorio Agregue una entrada de compilación. Los pasos específicos para compilar el controlador bq27501 en el kernel son los siguientes: 1. Primero, copie la carpeta del código del controlador bq27501 al directorio ti-davinci/drivers/. Determine dónde debe ubicarse el módulo del controlador bq27501 en el árbol de fuentes del kernel. Los controladores de dispositivo se almacenan en el subdirectorio drivers/ del directorio raíz del código fuente del kernel. Los archivos de controladores de dispositivo se organizan de manera ordenada según categorías y tipos. a.Los dispositivos de caracteres existen en el directorio drivers/char/. b. Los dispositivos de bloque se almacenan en el directorio drivers/blocks/. c. Los dispositivos USB se almacenan en el directorio drivers/usb/. Nota: (1) Las reglas de organización de archivos aquí no permanecen absolutamente sin cambios. Por ejemplo, los dispositivos USB también son dispositivos de caracteres y también pueden almacenarse en el directorio drivers/usb/. (2) En el directorio drivers/char/, hay una gran cantidad de archivos de código fuente C y muchos otros directorios. Todos los controladores de dispositivos con solo uno o dos archivos fuente se pueden almacenar directamente en este directorio, pero si el controlador contiene muchos archivos fuente y otros archivos auxiliares, se puede crear un nuevo subdirectorio. (3) El controlador de bq 27501 pertenece a la categoría de controlador de dispositivo de caracteres. Aunque sólo hay dos archivos relacionados con el controlador, para facilitar su visualización, los archivos relacionados se colocan en la carpeta BQ27501. El proceso de agregar un nuevo dispositivo al directorio drivers/char/ es relativamente simple, pero agregar un nuevo dispositivo directamente en drivers/ es un poco más complicado. Por lo tanto, primero se proporciona el proceso de agregar el controlador bq27501 en drivers/, y luego se explica brevemente el proceso de agregar el controlador en el directorio drivers/char/. 2. Cree un Makefile en /bq27501. Agregue el código: obj-$(Kconfig _ bq 27501) = bq 27501 o En este momento, el sistema de construcción se ejecutará en el directorio bq27501/ y bq27501.c se compilará en bq2750655. Agregue código: menú "bq 27501 driver" config bq 27501 ristate "bq 27501" ayuda y predeterminada - diga ' y ' aquí y se compilará en el kernel. Si selecciona ' m ', se compilará en un archivo llamado; Módulo de ASBQ27501.ko END MENU Nota: No puede agregar un retorno de carro al texto en la ayuda; de lo contrario, se producirá un error al compilar make menuconfig. 4. Modifique el archivo Kconfig en el directorio /drivers y agregue una declaración 'source drivers/bq 27501/Kconfig' antes del menú final. Para los controladores, kconfig suele estar en el mismo directorio que el código fuente. Si se crea un nuevo directorio y se espera que exista un archivo Kconfig en el directorio, se debe introducir en un archivo Kconfig existente y se debe montar en Kconfig en el directorio de controladores usando la declaración anterior. 5. Modifique el Makefile en /drivers y agregue 'obj-$(config _ bq 27501) = bq 27501/'. Esta línea de instrucciones de compilación le dice al sistema de compilación del módulo que vaya al subdirectorio bq27501/ al compilar el módulo. La compilación del controlador en este momento depende de una opción de configuración especial CONFIG_BQ27501.

6. Modifique el archivo Kconfig en el directorio arch/arm y agregue directamente la declaración "source" Drivers/bq 27501/Kconfig" en el menú "Controlador de dispositivo...menú final".