Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo agregar el controlador de dispositivo i2c en rt-thread

Cómo agregar el controlador de dispositivo i2c en rt-thread

Cómo agregar archivos de controlador de dispositivo a las opciones de compilación del kernel de Linux configuradas en menuconfig:

Propósito

Agregar archivos de controlador de dispositivo de caracteres al kernel, con la esperanza de compilarlos en módulos. en módulo. Primero, asegúrese de tener el archivo fuente del controlador: as352x_afe_charger.c

Colóquelo en un directorio con los otros módulos que desea agregar, en este caso el directorio drivers\i2c\chips.

2. En drivers\i2c\chips\makefile, agregue:

obj-$(CONFIG_AS352X_AFE_CHG) += as352x_afe_charger.o

3. i2c\chips\ Kconfig

, agregue lo siguiente:

--------------------- divisor invencible - -- ------------------------

config AS352X_AFE_CHG

tristate "Controlador del cargador AS352X AFE"

Depende de I2C_AS352X && AS352X_AFE

ayuda

Si dice "Sí" aquí, obtendrá soporte para el cargador AS352X AFE.

El controlador también se puede construir como un módulo. Si es así, el módulo

se llamará cargador AS352X AFE.

--- ------------------- Divisor invencible ------------------ - ------

La explicación es la siguiente:

(1) AS352X_AFE_CHG es un nombre personalizado, por supuesto, intente asegurarse de que sea razonable.

Además, notarás que

CONFIG_AS352X_AFE_CHG en obj-$(CONFIG_AS352X_AFE_CHG) += as352x_afe_charger.o

es la configuración CONFIG_plus que escribimos en kconfig. nombre de la variable.

Estas dos variables deben coincidir para pasar los resultados que define en menuconfig al archivo MAKE,

que determina el método de compilación durante la compilación: no compilado/compilado en el kernel/compilar en el módulo

(2) trieste significa que el módulo que agregué aquí puede

En make ARCH=arm menuconfig, seleccione:

* Compilar en En el kernel

M se compila en el módulo, que genera XXX.ko.

(3) Depende de I2C_AS352X && AS352X_ AFE

Esto es lo que descubrí por mi cuenta antes, lo que significa que esta opción de compilación solo aparecerá cuando se seleccionen tanto I2C_AS352X como AS352X_AFE.

Por supuesto, si el módulo no depende de otros módulos, no es necesario agregar esta dependencia.

Apéndice

1. Si se establece en M (modo de módulo), debe usar

make ARCH=arm

para compilar as352x_afe_charger. .ko

y

make ARCH=arm uImage

pueden compilar el kernel, pero no el módulo.