[Beijing Xunwei] Test du pilote de plate-forme en cours d'exécution dans l'arborescence des périphériques i.MX6ULL Terminator

1 Compilez le pilote

Un fichier Makefile est nécessaire comme le programme de test du pilote dans le chapitre précédent, mais la valeur de obj-m est changée en led_driver.o. Le contenu du fichier Makefile est le suivant:

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

Tout d'abord, nous entrons deux commandes dans le terminal (définissez deux variables d'environnement):

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

Exécutez ensuite la commande "make" pour compiler le module, et le fichier du module led_driver.ko sera généré après la compilation.

2 Compilez le programme de test de l'application

Le programme de test d'application peut utiliser directement le programme d'application led_test compilé en 44.3.2 du chapitre précédent.

3 Exécutez le test

Démarrez la carte de développement, copiez le fichier de module led_driver.ko compilé et l'application led_test dans le répertoire /lib/modules/4.1.15 (vérifiez s'il y a "/lib/modules/4.1.15" dans le système de fichiers racine du développement board Directory, si vous n'en avez pas, vous devez le créer vous-même. La carte de développement utilise le système de fichiers busybox fourni dans les données du CD et les données du CD "i.MX6UL Terminator CD data \ 08_development board system image \ 03_file image système \ 01_Busybox file system »). Entrez la commande suivante pour charger le module: Une fois que le pilote
depmod
modprobe led_driver
a été chargé avec succès, vérifiez si le pilote existe dans le répertoire / sys / bus / platform / drivers /. Nous définissons le champ name de led_driver (type platform_driver) dans led_driver .c à "imx6ul-led", il y aura donc un fichier nommé "imx6ul-led" dans le répertoire / sys / bus / platform / drivers /, et le résultat est montré dans la Figure 3.1:
Insérez la description de l'image ici

Graphique 3.1

De la même manière, il y a aussi un fichier de périphérique led dans le répertoire / sys / bus / platform / devices /, qui est le nœud gpioled dans l'arborescence des périphériques, comme illustré dans la Figure 3.2:
Insérez la description de l'image ici

Graphique 3.2

Lorsque le périphérique et le pilote sont correctement mis en correspondance, des informations sont entrées comme indiqué dans la figure 3.3:
Insérez la description de l'image ici

Graphique 3.3

Une fois que le périphérique et le pilote ont été mis en correspondance, utilisez l'application led_test pour le tester. La commande est la suivante:

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

Utilisez ces deux commandes pour vérifier si les périphériques et les pilotes sous la plate-forme LED sont corrects.
Commande de désinstallation du module:
rmmod led_driver //卸载驱动模块

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/BeiJingXunWei/article/details/111961362
conseillé
Classement