上一篇文章在 新设备驱动框架代码的基础上,添加了自动创建设备节点的代码。文章地址如下:
本文对自动创建设备节点的功能进行测试。
打开 ubuntu下 3_newchrled工程代码,编译工程后:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$ make
生成了 newchrled.ko驱动程序:
将 驱动程序newchrled.ko 拷贝到开发板的根文件系统 /lib/modules/4.1.15/目录下:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$ sudo cp newchrled.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f
[sudo] wangtian 的密码:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/3_newchrled$
开发板上电后进入 根文件系统 /lib/modules/4.1.15/目录下,查看是否是刚刚拷贝的 驱动程序 newchrled.ko:
/lib/modules/4.1.15 # ls -l
total 24
-rwxr-xr-x 1 0 0 10588 Jan 1 2024 led_app
-rw-r--r-- 1 0 0 0 Jan 1 2024 modules.alias
-rw-r--r-- 1 0 0 14 Jan 1 2024 modules.dep
-rw-r--r-- 1 0 0 0 Jan 1 2024 modules.symbols
-rw-r--r-- 1 0 0 7038 Jan 2 2024 newchrled.ko
/lib/modules/4.1.15 #
首先,查看 /dev目录下是否存在 newchrled的设备:
可以看出,/dev/ 目录下还不存在 设备节点 newchrled。
其次,加载驱动模块,即执行 "modprobe newchrled.ko" 命令:
查看 /dev目录下是否存在 newchrled设备节点:
可以看出,/dev目录下已经自动创建了设备节点 newchrled。
卸载驱动模块,执行 "rmmod newchrled.ko" 命令:
这时查看 /dev/目录下,是否还存在 newchrled设备节点:
可以看出,卸载驱动模块后,/dev目录下的设备节点也卸载掉了。
至此,说明自动创建设备节点功能实现了,可以正常运行。