Prueba de ejecución del controlador de plataforma [Beijing Xunwei] en el árbol de dispositivos Terminator i.MX6ULL

1 Compile el controlador

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

KERNELDIR := /home/topeet/kernel
CURRENT_PATH := $(shell pwd)
obj-m := led_driver.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 el archivo del módulo led_driver.ko se generará después de la compilación.

2 Compile el programa de prueba de la aplicación

El programa de prueba de la aplicación puede utilizar directamente el programa de aplicación led_test compilado en 44.3.2 del capítulo anterior.

3 Ejecute la prueba

Inicie la placa de desarrollo, copie el archivo del módulo led_driver.ko compilado y la aplicación led_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 desarrollo 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: Después de que el
controlador depmod
modprobe led_driver
se cargue correctamente, verifique si el controlador existe en el directorio / sys / bus / platform / drivers /. Establecemos el campo de nombre de led_driver (tipo de plataforma_driver) en led_driver .c a "imx6ul- led", por lo que habrá un archivo llamado "imx6ul-led" en el directorio / sys / bus / platform / drivers /, y el resultado se muestra en la Figura 3.1:
Inserte la descripción de la imagen aquí

Figura 3.1

De la misma manera, también hay un archivo de dispositivo led en el directorio / sys / bus / platform / devices /, que es el nodo gpioled en el árbol de dispositivos, como se muestra en la Figura 3.2:
Inserte la descripción de la imagen aquí

Figura 3.2

Cuando el dispositivo y el controlador coincidan correctamente, se introducirá información como se muestra en la Figura 3.3:
Inserte la descripción de la imagen aquí

Figura 3.3

Una vez que el dispositivo y el controlador coincidan correctamente, utilice la aplicación led_test para probarlo. El comando es el siguiente:

./led_test /dev/dtsplatled 1		//打开LED灯
./led_test /dev/dtsplatled 0		//关闭LED灯

Utilice estos dos comandos para verificar si los dispositivos y controladores de la plataforma LED son correctos.
Comando de desinstalación del módulo:
rmmod led_driver //卸载驱动模块

Inserte la descripción de la imagen aquí

Supongo que te gusta

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