当前位置: 技术问答>linux和unix
关于驱动程序模块编译
来源: 互联网 发布时间:2016-09-24
本文导语: 为什么我的驱动程序模块编译时候通过了,并生产了.ko文件,当我加载到系统上时不能出现我想要的结果,我是初学者,#include #include MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "h...
为什么我的驱动程序模块编译时候通过了,并生产了.ko文件,当我加载到系统上时不能出现我想要的结果,我是初学者,#include
#include
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello, worldn");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel worldn");
}
module_init(hello_init);
module_exit(hello_exit);
应该出现的结果是在加载的时候出现hello,wrold,在卸载模块的时候出现Goodbye,cruel wrold,但是我加载后卸载了什么都没出现。请问各位高手这个可能是哪点出错了?
#include
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello, worldn");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel worldn");
}
module_init(hello_init);
module_exit(hello_exit);
应该出现的结果是在加载的时候出现hello,wrold,在卸载模块的时候出现Goodbye,cruel wrold,但是我加载后卸载了什么都没出现。请问各位高手这个可能是哪点出错了?
|
估计是4楼说的问题,加上
__init
__exit
试试。
另,KERN_ALERT 在控制台输出,其它的宏可能要dmesg了。
PS:printk(KERN_ALERT "Goodbye, cruel worldn");怎么像fudan_abc博客里写的那样?
__init
__exit
试试。
另,KERN_ALERT 在控制台输出,其它的宏可能要dmesg了。
PS:printk(KERN_ALERT "Goodbye, cruel worldn");怎么像fudan_abc博客里写的那样?
|
你的交叉编译器用的是什么?
如果是
arm-linux-gcc
那么这样用:
make ARCH=arm CROSS_COMPILE=arm-linux-
如果是
arm-linux-gcc
那么这样用:
make ARCH=arm CROSS_COMPILE=arm-linux-
|
你的交叉编译器用的是什么??
|
我的那篇文章在我的平台上是测试过的~~呵呵,
|
$cat /var/log/message | grep hello
|
呵呵,是的哈,靠自己调出来的时候,心情很爽~~
祝你好运~
|
要想在内核配置选项中出现这个模块,必须要修改Kconfig这个文件,
|
你重新编译了么?
最好把你的Kconfig和Makefile的代码贴出来,这样方便大家交流~~~