我想在内核中编译一个设备驱动程序,并用 *, (不在 module 中)配置它。编译后看不到设备/proc/device
。我还检查了输出make bzImage
,驱动程序已编译。我是否需要删除这两行:
module_init(mydriver_init);
module_exit(mydriver_exit);
没有足够的信息来理解您的问题。您应该显示一些代码。
无论如何,/proc/devices不会显示所有内核模块。它显示设备,也许您的驱动程序没有注册设备。
您可以在代码中添加一些内容,然后使用终端printk()
中的命令读取它。dmesg
如果您阅读了印刷品,则说明您的模块已加载。
Evan 如果您不将模块编译为模块,而是在内核中构建它,则函数
module_init(mydriver_init);
module_exit(mydriver_exit);
必须在那里。mydriver_init
将在内核加载您的驱动程序module_exit
时执行,将在内核卸载您的驱动程序时执行。
/proc/devices
只读文件似乎无法使用 VIM 等编辑器进行编辑或查看。所以试试吧'cat /proc/devices'
,你的设备可能会出现。