阅读:2041回复:14
驱动动态加载的问题
我编了一个多文件驱动程序,然后写了一个Makefile,并且make cs.o(目标文件)已经通过!
但我在目标版上加载的时候:insmod cs.o 出现以下错误: Using cs.o insmod: unresolved symbol claim_fiq insmod: unresolved symbol disable_fiq insmod: unresolved symbol release_fiq insmod: unresolved symbol set_fiq_regs insmod: unresolved symbol enable_fiq insmod: unresolved symbol set_fiq_handler 这些函数(claim_fiq,disable_fiq等)都是系统内部函数,并且在asm/fiq.h中说明。我在源程序中已经 #include <asm/fiq.h>,按道理它应该能识别这些函数啊(因为编译已经通过)! 出现这些错误事什么原因哪? |
|
沙发#
发布于:2004-07-02 09:30
请问这些问题你解决了么?我也遇到用样的问题,拜托大家互相帮助啊/
|
|
板凳#
发布于:2004-07-08 11:23
我编了一个多文件驱动程序,然后写了一个Makefile,并且make cs.o(目标文件)已经通过! 猜测:看看这些函数,是否声明为不导出? |
|
|
地板#
发布于:2004-07-10 22:15
编译通过并不表示系统提供这些函数
-c只是生成中间代码,没有找到的函数会等到insmod的时候,再行确定。 你看看你的内核导出的符号表里面有没有 |
|
地下室#
发布于:2004-07-10 22:17
你可以在内核的文件里面,自己把这些函数用export_symbol导出去。然后重新编译内核
|
|
5楼#
发布于:2004-07-11 09:17
很有可能是代码移植!!!
本人遇到过类似的问题 ――有可能是内核版本问题,新的函数就版本当然不认识了 1)最好不用这些函数,就可以了!!! 2)如果实在要用,就要找老版本相应的东东替代!! |
|
6楼#
发布于:2004-07-11 09:27
搞linux我就是烦这些,现在能用的函数,不知什么时候就不能用了! :(
|
|
7楼#
发布于:2004-07-12 10:52
现想它烦都不行了,搞不成linux了
|
|
|
8楼#
发布于:2004-07-16 18:50
还是没解决
继续求助 |
|
9楼#
发布于:2004-07-18 10:17
你到/proc/kallsyms看看有没有这几个导出的符号
kallsyms在有的系统中也许是ksyms。 |
|
10楼#
发布于:2004-07-19 15:41
我用ksyms -a看了一下,里面没有这些函数,但内核有这些函数原型
,我想可能没有编译到内核里吧,但不知道怎么把他们编译到内核里。 |
|
11楼#
发布于:2004-07-28 14:47
试试将编译驱动时所用的系统内核放到目标机上去,或将目标上的内核拿到台式机上,在该内核下编译driver。
|
|
12楼#
发布于:2004-09-02 14:51
应该是没有把那些函数编译进内核
只是不知怎么把它们编进去。困惑ing |
|
13楼#
发布于:2004-09-03 18:09
我也遇到同样的问题,不知怎么解决,哎
|
|
|
14楼#
发布于:2004-09-04 15:37
问题已经解决了
把包含这些函数的文件编译进内核就可以了 要修改同目录下的makefile中的export-objs到obj |
|