今天写了个led的字符设备驱动加一个测试程序。驱动加载成功,并且测试程序调用驱动成功,但是发现如下现象:
驱动名字是ledlm,驱动文件名字是led_drv.ko。
1,加载驱动insmod led_drv.ko ,显示ledlm initialized。卸载驱动使用rmmod led_drv.ko没有任何报错信息,但是使用lsmod查看,驱动依然挂载。使用rmmod led_drv 虽然提示找不到文件,但是使用lsmod 查看,驱动卸载了。
2,如果程序里面定义#define DEVICE_NAME "ledlm" ,虽然驱动文件名和加载驱动的时候使用的是文件名led_drv.ko,但是在程序中调用驱动的时候,要使用名字“ledlm”。否则调用失败。
3,如果驱动加载成功,ls /dev 查看驱动 ,可以看到驱动ledlm加载了。