一. 简介
上一篇文章编写了 platform设备注册代码,文章地址如下:
无设备树platform驱动实验:platform设备注册代码实现-CSDN博客
本文继续无设备树platform驱动实验,本文对编译好的 设备注册程序进行测试,测试所实现的platform设备注册代码是否存在问题。
二. platform设备注册模块的测试
1. 拷贝驱动模块
将上一篇文章(platform设备注册)编译生成的驱动模块 platform_devic.ko拷贝到 开发板系统中:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/16_platform$ sudo cp platform_device.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f
2. 加载模块并测试
(1) 开发板上电
开发板上电后,进入 系统 /lib/modules/4.1.15/目录下,确认 驱动文件是否已经存在:
可以看出,platform_device.ko文件已经存在。
(2) 加载模块
注意:如果选择使用 "modprobe" 命令加载驱动模块,则在驱动程序第一次加载时首先运行 "depmod" 命令!
这里platform_device.ko模块是第一次加载。
首先,执行 "depmod"命令:
使用 "modprobe" 命令加载驱动模块:
(3) 查看设备是否注册成功
进入系统 "/sys/bus/platform/devices/" 目录下,查看是否存在 "imx6ull_led" 命名的设备。
注意:因为 前面代码中在platform设备注册时,结构体 struct platform_device的 name设置为了 "imx6ull_led"!!
串口操作如下:
/lib/modules/4.1.15 # cd /sys/bus/platform/devices/
可以看到如下信息:
可以看到,存在了 imx6ull_led设备。说明platform设备注册已经成功。
(4) 卸载设备
使用 "rmmod platform_device.ko"命令卸载模块:
这时候可以查看 "/sys/bus/platform/devices/" 目录下是否还存在 "imx6ull_led" 命名的设备。
这里开发板上的这个目录已经不存在 "imx6ull_led"这个设备了。说明卸载模块也正常。