0

我想在内核中编译一个设备驱动程序,并用 *, (不在 module 中)配置它。编译后看不到设备/proc/device。我还检查了输出make bzImage,驱动程序已编译。我是否需要删除这两行:

module_init(mydriver_init);

module_exit(mydriver_exit);
4

2 回答 2

0

没有足够的信息来理解您的问题。您应该显示一些代码。

无论如何,/proc/devices不会显示所有内核模块。它显示设备,也许您的驱动程序没有注册设备。

您可以在代码中添加一些内容,然后使用终端printk()中的命令读取它。dmesg如果您阅读了印刷品,则说明您的模块已加载。

Evan 如果您不将模块编译为模块,而是在内核中构建它,则函数

module_init(mydriver_init);
module_exit(mydriver_exit);

必须在那里。mydriver_init将在内核加载您的驱动程序module_exit时执行,将在内核卸载您的驱动程序时执行。

于 2013-04-15T11:59:10.657 回答
0

/proc/devices只读文件似乎无法使用 VIM 等编辑器进行编辑或查看。所以试试吧'cat /proc/devices',你的设备可能会出现。

于 2013-05-27T08:44:31.510 回答