1.Linux驱动的加载方法:在驱动路径下 insmod testdiver.ko ,重启后需重加载
2.卸载方法:任何路径下 rmmmod testdiver
3.怎么判断驱动是否加载:
3.1进入到根目录 : find | grep testdiver ,可查看/dev/testdiver
3.2 进入ls /dev/test* ,可查看/dev/testdiver
4.再次查看驱动加载时的调试信息:
进入到根目录 : dmesg | grep testdi*
5.1 查看驱动程序的主设备号方法1:
cat /proc/devices
应答信息如下:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
81 video4linux
89 i2c
90 mtd
108 ppp
116 alsa
128 ptm
136 pts
153 spi
180 usb
189 usb_device
226 drm
245 ms5525_i2c
246 iio
247 media
248 ttySDIO
249 usbmon
250 hci_tty
251 watchdog
252 ptp
253 pps
254 rtc
Block devices:
1 ramdisk
259 blkext
7 loop
8 sd
11 sr
31 mtdblock
显示系统的所有字符设备和块设备,可在列表中,找到相应的testdiver 和设备号
5.2 查看驱动程序的主设备号方法2:
ls /dev -l
应答信息如下:
drwxr-xr-x 2 root root 780 Sep 16 07:44 block
drwxr-xr-x 3 root root 60 Sep 16 07:44 bus
drwxr-xr-x 2 root root 3180 Sep 16 07:45 char
crw------- 1 root root 5, 1 Sep 16 07:44 console
crw------- 1 root root 10, 61 Sep 15 09:19 cpu_dma_latency
crw-rw-rw- 1 root root 10, 57 Sep 16 07:44 crypto
drwxr-xr-x 6 root root 120 Sep 16 07:44 disk
drwxr-xr-x 2 root root 80 Sep 16 07:44 dri
lrwxrwxrwx 1 root root 3 Sep 16 07:44 fb -> fb0
crw-rw---- 1 root video 29, 0 Sep 15 09:19 fb0
lrwxrwxrwx 1 root root 13 Sep 16 07:44 fd -> /proc/self/fd
crw-rw-rw- 1 root root 1, 7 Sep 15 09:19 full
crw------- 1 root root 250, 0 Sep 16 07:44 hci_tty
crw------- 1 root root 10, 183 Sep 15 09:19 hwrng
crw------- 1 root root 89, 0 Sep 16 07:44 i2c-0
crw------- 1 root root 89, 1 Sep 16 07:44 i2c-1
crw------- 1 root root 89, 2 Sep 16 07:44 i2c-2
可以找到I2C的主设备号为89 ,次设备号分别为0 /1/2
6.如果判断驱动是否加载成功呢?
步骤1- 步骤5必须全部通过,否则说明驱动加载异常,需进一步排查原因
注意:Linux驱动设备号的分配,主设备号范围为1-255 ,驱动编写过程中如果指定DEVICE_MAJOR=0 ,则系统会自动分配一个主设备号