简单设备驱动程序问题:cat:/dev/chardev:没有这样的设备或地址

发布于 2024-12-08 02:40:11 字数 409 浏览 1 评论 0原文

我正在尝试学习设备驱动程序并尝试编译代码,但收到以下错误消息。如果您能给我解决这个问题的指示,我将不胜感激 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-generic

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

I am trying to learn Device Drivers and tried to compile a code, but I get the below error messages. I would appreciate if you give me pointers to resolve this issue
cat: /dev/chardev: No such device or address

Below are the logs:
@ubuntu:~/Desktop/C_code$ lsmod

Module Size Used by
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-generic

I am using the code from the following site "http://tldp.org/LDP/lkmpg/2.6/html/x569.html"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

以往的大感动 2024-12-15 02:40:11

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

Try: cat ~/Desktop/C_code/dev/chardev. That file isn't necessarily in /dev yet, but you could copy it there.

红颜悴 2024-12-15 02:40:11

问题基本上是设备节点 /dev/chardev 代表的主设备号和次设备号不代表设备。在您的源代码中,在“ye”分配之后输入一个主要和次要编号的 printk 。

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

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

当然主要和次要是您打印到内核日志中的命令。

祝你好运。

the problem is basically that the major and minor number represented by the device node /dev/chardev don't represent a device. put in your source code a printk of the major and minor number just after the'ye assignment.

check if the numbers in the kernel log match 77 0 as the device node declare.
if not, delete the device node, and write the following command

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

of course the major and minor are the ones you printed to the kernel log.

good luck.

苏辞 2024-12-15 02:40:11

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

http://tldp.org/LDP/lkmpg/2.6/html/x569.html, here
chardev is created in current working directory.
So you should cat chardev in your current directory not in /dev/.
Or create chardev in /dev/ directory instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文