【问题标题】:Simple Device Driver Issue : cat: /dev/chardev: No such device or address简单设备驱动程序问题:cat:/dev/chardev:没有这样的设备或地址
【发布时间】:2017-09-13 19:10:44
【问题描述】:

我正在尝试学习设备驱动程序并尝试编译代码,但我收到以下错误消息。如果您给我指点以解决此问题,我将不胜感激 cat: /dev/chardev: 没有这样的设备或地址

以下是日志: @ubuntu:~/Desktop/C_code$ lsmod

使用的模块大小 chardev 12767 0

@ubuntu:~/Desktop/C_code$ ls -l /dev

crw-rw-rw- 1 root root 77, 0 2011-10-03 20:47 chardev

~/Desktop/C_code$ uname -r

2.6.38-8-通用

我正在使用来自以下站点“http://tldp.org/LDP/lkmpg/2.6/html/x569.html”的代码

【问题讨论】:

    标签: linux-device-driver


    【解决方案1】:

    试试:cat ~/Desktop/C_code/dev/chardev。该文件不一定在/dev 中,但您可以将其复制到那里。

    【讨论】:

    • 感谢您的回复,设备文件确实存在于 /dev 中。我的日志中有一个错字。抱歉 rahulgade@ubuntu:~/Desktop/C_code$ ls -l /dev crw-rw-rw- 1 root root 77, 0 2011-10-03 20:47 chardev
    【解决方案2】:

    问题基本上是设备节点/dev/chardev所代表的主要和次要编号不代表设备。在你的源代码中,在'ye 分配之后将主要和次要号码的 printk 放在一起。

    检查内核日志中的数字是否与设备节点声明的 77 0 匹配。 如果没有,删除设备节点,写如下命令

    sudo mknod /dev/chardev c <MAJOR> <MINOR>
    

    当然,主要和次要是您打印到内核日志的那些。

    祝你好运。

    【讨论】:

      【解决方案3】:

      http://tldp.org/LDP/lkmpg/2.6/html/x569.html,这里 chardev 是在当前工作目录中创建的。
      所以你应该在当前目录中而不是 /dev/ 中 cat chardev
      或者改为在/dev/ 目录中创建chardev

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-25
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 2020-06-07
        • 2022-01-12
        相关资源
        最近更新 更多