yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
阅读:1811回复:10

请教:如何编译Linux下的USB骨架?

楼主#
更多 发布于:2007-09-29 16:52
各位大侠:
请问如何才能成功编译Linux下的USB骨架?
网络上都说这个骨架对于刚学习Linux下的USB驱动很有用,所以就试着开始编译,可是编译了老半天了还是无法编译通过。
哪位大侠能不能告知需要修改哪些地方才能编译它呢?
叩谢!!
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
沙发#
发布于:2007-09-30 11:25
用户被禁言,该主题自动屏蔽!
yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-30 12:42
内核已经编译了

.c是不是需要编译成.o啊?
用什么编译呢?用gcc的话会出现错误

make又不行
bance
驱动牛犊
驱动牛犊
  • 注册日期2007-09-23
  • 最后登录2010-11-21
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-01 22:27
看你要把它编译成为内核方式还是模块方式。

既然你已经编译了内核,里边默认已经有USB驱动了。

如果你想修改其中的代码,可以修改后直接编译内核,它会自动编译被修改过的部分同时又忽略没有改动的部分。

我曾经也试着单独编译其中的一块,没有成功,就一直用上面的方式。
yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-10-07 09:52
楼上的大大,能不能直接编译成模块呢?
因为我想,每次都编译内核好像挺麻烦的。
yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-07 13:56
编译命令如下:gcc -W -DMODULE -D__KERNEL__ -O2 -isystem /usr/src/linux/include -c usb-skeleton.c
出现了以下的错误,请大侠帮忙看看:
In file included from /usr/src/linux/include/asm/smp.h:18,
                 from /usr/src/linux/include/linux/smp.h:19,
                 from /usr/src/linux/include/linux/topology.h:33,
                 from /usr/src/linux/include/linux/mmzone.h:426,
                 from /usr/src/linux/include/linux/gfp.h:4,
                 from /usr/src/linux/include/linux/slab.h:15,
                 from usb-skeleton.c:20:
/usr/src/linux/include/asm/mpspec.h:6:25: error: mach_mpspec.h: No such file or directory
In file included from /usr/src/linux/include/asm/smp.h:18,
                 from /usr/src/linux/include/linux/smp.h:19,
                 from /usr/src/linux/include/linux/topology.h:33,
                 from /usr/src/linux/include/linux/mmzone.h:426,
                 from /usr/src/linux/include/linux/gfp.h:4,
                 from /usr/src/linux/include/linux/slab.h:15,
                 from usb-skeleton.c:20:
/usr/src/linux/include/asm/mpspec.h:8: error: ‘MAX_MP_BUSSES’ undeclared here (not in a function)/usr/src/linux/include/asm/mpspec.h:23: error: ‘MAX_IRQ_SOURCES’ undeclared here (not in a function)
In file included from /usr/src/linux/include/linux/smp.h:19,
                 from /usr/src/linux/include/linux/topology.h:33,
                 from /usr/src/linux/include/linux/mmzone.h:426,
                 from /usr/src/linux/include/linux/gfp.h:4,
                 from /usr/src/linux/include/linux/slab.h:15,
                 from usb-skeleton.c:20:
/usr/src/linux/include/asm/smp.h:77:26: error: mach_apicdef.h: No such file or directory
In file included from /usr/src/linux/include/linux/irq.h:22,
                 from /usr/src/linux/include/asm/hardirq.h:6,
                 from /usr/src/linux/include/linux/hardirq.h:7,
                 from /usr/src/linux/include/linux/interrupt.h:11,
                 from /usr/src/linux/include/linux/usb.h:16,
                 from usb-skeleton.c:24:
/usr/src/linux/include/asm/irq.h:16:25: error: irq_vectors.h: No such file or directory
In file included from /usr/src/linux/include/asm/hardirq.h:6,
                 from /usr/src/linux/include/linux/hardirq.h:7,
                 from /usr/src/linux/include/linux/interrupt.h:11,
                 from /usr/src/linux/include/linux/usb.h:16,
                 from usb-skeleton.c:24:
/usr/src/linux/include/linux/irq.h:85: error: ‘NR_IRQS’ undeclared here (not in a function)
In file included from /usr/src/linux/include/linux/irq.h:94,
                 from /usr/src/linux/include/asm/hardirq.h:6,
                 from /usr/src/linux/include/linux/hardirq.h:7,
                 from /usr/src/linux/include/linux/interrupt.h:11,
                 from /usr/src/linux/include/linux/usb.h:16,
                 from usb-skeleton.c:24:
/usr/src/linux/include/asm/hw_irq.h:30: error: ‘NR_IRQ_VECTORS’ undeclared here (not in a function)
usb-skeleton.c:44: warning: missing initializer
usb-skeleton.c:44: warning: (near initialization for ‘skel_table[1].match_flags’)
yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-10-08 17:52
有人遇到同样问题的,能不能留下你们宝贵的言语
谢谢啊!
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
7楼#
发布于:2007-10-11 10:51
用户被禁言,该主题自动屏蔽!
yushui213
驱动小牛
驱动小牛
  • 注册日期2006-04-17
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分1015分
  • 威望115点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-10-11 13:13
谢谢!

我已经弄好了(基本算是)

具体做法在论坛里的另一个帖子:Linux系统下编译usb-skeleton.c的经历
或者访问我的blog:yushui213.blogcn.com
xaxiao
驱动小牛
驱动小牛
  • 注册日期2007-09-11
  • 最后登录2010-02-10
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望199点
  • 贡献值0点
  • 好评度197点
  • 原创分2分
  • 专家分0分
9楼#
发布于:2008-03-30 10:03
恩 看了
upguojing
驱动牛犊
驱动牛犊
  • 注册日期2009-03-08
  • 最后登录2009-05-26
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2009-05-19 20:59
我想问一下,USB骨架编译好后,如何对它进行读写操作啊?要编一个应用程序吗?怎么编啊?请指教!谢谢!
游客

返回顶部