[Beijing Xunwei] prueba de funcionamiento experimental del controlador i.MX6ULL Terminator Linux I2C

1 Compile el controlador

Se requiere un Makefile como programa de prueba del controlador en el capítulo anterior, pero el valor de obj-m se cambia a ap3216c_iic.o. El contenido del Makefile es el siguiente:

KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga
CURRENT_PATH := $(shell pwd)
obj-m := ap3216c_iic.o

build: kernel_modules

kernel_modules: 
        $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
        $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

Primero, ingresamos dos comandos en la terminal (establecemos dos variables de entorno):

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-

Luego ejecute el comando "make" para compilar el módulo y la compilación estará completa para generar el archivo del módulo ap3216c_iic.ko.

2 Compile el programa de prueba de la aplicación

Ingrese el siguiente comando para compilar el programa de prueba de la aplicación: Una vez
arm-linux-gnueabihf-gcc -o ap3216c_test ap3216c_test.c
completada la compilación, se generará el archivo ejecutable ap3216c_test.

3 Ejecute la prueba

Inicie la placa de desarrollo y copie el archivo del módulo ap3216c_iic.ko compilado y la aplicación ap3216c_test en el directorio /lib/modules/4.1.15 (compruebe si hay "/lib/modules/4.1.15" en el sistema de archivos raíz del board Directory, si no tiene uno, debe crearlo usted mismo. La placa de desarrollo utiliza el sistema de archivos busybox proporcionado en los datos del CD y los datos del CD "i.MX6UL Terminator CD data \ 08_development board system image \ 03_file system image \ 01_Busybox file system ”directorio). Ingrese el siguiente comando para cargar el módulo:

depmod
modprobe ap3216c_iic

Cuando se carga el módulo del controlador, puede aparecer un error que indica que el dispositivo está ocupado, porque el controlador ap3216c puede estar compilado en el kernel de Linux de forma predeterminada. Primero puede comentar la configuración de ap3216c en la configuración del kernel y usar temporalmente el módulo para probar.
El módulo del controlador se ha cargado correctamente. Utilice el programa de prueba de la aplicación ap3216c_test para realizar la prueba. El comando es el siguiente: El
./ap3216c_test /dev/ap3216c &
programa de prueba leerá continuamente datos de AP3216C y los enviará al terminal. El resultado es el siguiente:
Inserte la descripción de la imagen aquí

Figura 3.1

Desinstale el módulo usando el siguiente comando:
rmmod ap3216c_iic

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/BeiJingXunWei/article/details/112555256
Recomendado
Clasificación