我在给一块PCI卡在linux下写驱动(生成链接库),期望生成静态库,指令如下:gcc -c drive.c -o librarydrive.ogcc test.c -o test static -L. -ldrive./test然后报错:segmentation fault请问...
全文
回复(28) 2003-03-09 09:53 来自版块 - LINUX&UNIX核心开发
表情
zheng2002thank you let me see .... [编辑 - 3/14/03 by zheng2002](2003-03-14 15:37)
tomeGDB -C CORE 然后 (gdb) where 看一下是哪儿的错!(2003-03-14 14:40)
zheng2002先给点分,表示感谢! 解决问题,一定另贴送分!! 这个世界热心人还是很多啊! 有其他高手也请发表意见,定送分。。 也想交个朋友。。。 等把这个项目做完,一定好好和你们聊聊,想认识一下。。(2003-03-13 21:58)
hometown(1)sys/io.h 和 asm/io.h 这两个头文件有这样的关系, 前者在预编译时会把后者包含进来, 所以如果你程序中包含前者, readb()和writeb()就可以使用了 (2)readb() 和 writeb() 这两个宏一般是用做memory-mapped设备...(2003-03-13 20:01)
Pharos用inb,outb, ..., inl, outl函数就可以访问到pci端口了,你在程序中要有下面这一行: #include <sys/io.h> 在x86 PC上,如果你使用的是PCI机制1,那么PCI的端口是0xCF8, 0xCFC, 我以前写过这方面的代...(2003-03-13 19:24)
zheng2002其实我的drive.c是来配置PCI卡的。 我想把它做成一个链接库来供用户调用。 test是利用我得drive.c生成的连接库来控制PCI卡的。 drive.c中用readb()和writeb()等读写函数来配置PCI配置寄存器。 另外我包含的头文件是:/sy...(2003-03-13 17:16)
hometown应该也算是驱动了 因为我写的程序是:把Linux的命令传给PCI板, 就是生成一个共享库供用户使用。 我试一下 另请问: readb(),writeb()等要什么头文件? 谢谢! 你的问题没说清楚, 很难回答问题在哪里, 因为你写了测试程序, 所以可...(2003-03-12 22:13)
zheng2002谢谢 楼上的兄弟 然我先试一下 。。。。(2003-03-12 21:51)
longge编译的时候带上-g 参数,用gdb调试,应该能找到错误在代码的 哪里,大部分情况应该是非法指针的问题,如果是驱动,就这么两句话肯定是不行的,你好好看看驱动模块的Makefile是怎么写的!(2003-03-12 19:00)
Pharos查内核代码。 (2003-03-12 12:33)

返回顶部