[Beijing Xunwei] i.MX6ULL Terminator Linux MISC prueba en ejecución del controlador

1 Compile el controlador

Se necesita un archivo Makefile como el programa de prueba de controladores del capítulo anterior, pero el valor de obj-m se cambia a beep_misc.o. El contenido del archivo 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 := beep_misc.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 se completará para generar el archivo del módulo beep_misc.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 beep_misc_test beep_misc_test.c
completada la compilación, se generará el archivo ejecutable beep_misc_test.

3 Ejecute la prueba

Inicie la placa de desarrollo y copie el archivo del módulo beep_misc.ko compilado y la aplicación beep_misc_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 beep_misc

Una vez que el controlador se haya cargado correctamente, puede ver un subdirectorio llamado "miscbeep" en el directorio / sys / class / misc, como se muestra en la Figura 3.1:
Inserte la descripción de la imagen aquí

Figura 3.1

Todos los dispositivos varios pertenecen a la misma categoría. El directorio / sys / class / misc contiene todos los dispositivos de la categoría misc, y cada dispositivo corresponde a un subdirectorio.
Después de que el controlador y el dispositivo coincidan correctamente, se generará el archivo de controlador de dispositivo / dev / miscbeep. Ingrese el siguiente comando para ver los números de dispositivo mayor y menor de este archivo: el
ls /dev/miscbeep -l
resultado se muestra en la Figura 3.2:
Inserte la descripción de la imagen aquí

Figura 3.2

Se puede ver que el número de dispositivo principal del dispositivo / dev / miscbeep es 10, y el número de dispositivo menor es 144, que es consistente con la configuración de nuestro controlador.
Luego use la aplicación beep_misc_test para probar el archivo del controlador. Ingrese el siguiente comando para abrir el bip:
./beep_misc_test /dev/miscbeep 1
cierre el bip. Use el siguiente comando:
./beep_misc_test /dev/miscbeep 0
Si el timbre se puede encender y apagar normalmente, significa que el archivo de la unidad es correcto.
Para desinstalar el módulo del controlador, use el siguiente comando:
rmmod beep_misc

Inserte la descripción de la imagen aquí

Supongo que te gusta

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