Linux驱动模块加载方法和如何判断Linux驱动是否加载成功

本文介绍了Linux驱动的加载、卸载方法,以及如何检查驱动是否加载成功。通过`insmod`加载驱动,使用`rmmod`卸载,通过`find`和`ls`命令查看设备节点,利用`dmesg`获取加载信息。同时,从`/proc/devices`和`/dev`目录下查看驱动的主设备号。如果所有步骤都顺利,说明驱动加载成功。
摘要由CSDN通过智能技术生成

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 ,则系统会自动分配一个主设备号

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值