1、加载驱动模块
驱动及测试程序编写完成后,启动Linux系统,检查是否存在 “/lib/modules/4.1.15” 文件夹,没有的话自行创建, 4.1.15 代表Linux 内核版本,根据实际情况选择。
注意,“/lib/modules/4.1.15” 这个目录用来存放驱动模块,使用modprobe 命令加载驱动模块的时候,驱动模块要存放在此目录下。
将 XXX.ko 和 XXXAPP两个文件拷贝到/lib/modules/4.1.15目录中,使用驱动加载命令加载驱动模块:
insmod chrdevbase.ko
或者
depmod
modprobe chrdevbase.ko
输入“lsmod” 命令即可查看当前系统中存在的驱动模块。驱动是设备的驱动,在加载了驱动之后,系统中便会存在指定的设备,使用以下命令查看系统的设备。
cat /proc/devices // 从/proc/devices下面可以找到注册的设备的主次设备号
2、创建设备节点文件与设备操作测试
驱动加载成功需要在/dev 目录下创建一个与之对应的设备节点文件,应用程序就是通过操作这个设备节点文件来完成对具体设备的操作。 Linux 下一切皆文件,包括设备也是文件。
// XXX是要创建的节点文件,“c”表示这是个字符设备,“200”是设备的主设备号,“0”是设备的次设备号。
mknod /dev/XXX c 200 0
使用 chrdevbaseApp 软件操作 chrdevbase 这个设备,测试读写是否正常:
./XXXAPP /dev/XXX 1 // 写入1
3、卸载驱动模块
rmmod chrdevbase.ko