Cómo agregar el controlador de dispositivo i2c en rt-thread
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.