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