关于嵌入式linux系统与计算机USB通信

meiky 2011-06-28 07:27:16
ARM2410+linux2.6.16,想做为USB从设备,与计算机主机通信,上位机我将做个应用程序进行通信,在ARM端应该用什么类型的USB从设备驱动?/driver/usb/gadget/ 下有好几个驱动,serial.c能达到我目的吗?速度不能太慢?
...全文
235 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongchong2292482 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 meiky 的回复:]
解决了一大堆错误后,终于将2.6.24/drivers/usb/gadget/s3c2410_udc.c移植到2.6.16中,但是现在我插入USB线后,程序会进入s3c2410_udc.c中s3c2410_udc_irq()中断函数里,从里打印出向个寄存器状态信息,然后电脑端口还是显示无法识别,怎么办?是不是在中断里面应该发USB设备的一些信息到计算机,才能识别出来??
[/Quote]

我现在也是进入到了这个s3c2410_udc_irq()函数中但是一直都是reset 请问你是怎么解决的啊?
dongchong2292482 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 meiky 的回复:]
终于搞定了,成功将板子虚拟成网卡,在PC机子上面装了相应的驱动后就能与板子ping能。给大家分享一下。
/drivers/usb/gadget/下面是的USB从设备驱动,有控制器驱动和USB设备驱动,即底层驱动和顶层驱动。s3c2410_udc.c是s3c2410 芯片的USB从设备底层驱动,先得移植这个才能加上其它驱动。有了底层驱动后,再加了ether.c,将USB虚拟成网卡,就能与PC机通信……
[/Quote]

现在我也在做模拟成网卡的东西,我按照网上的办法配置内核 做成s3c2410_udc.ko和g_ether.ko但是为什么PC机识别到得设备PID VID都是0呢是不是要在ether.c里面配置啊,怎么配置?
dongchong2292482 2011-08-08
  • 打赏
  • 举报
回复
/*
终于搞定了,成功将板子虚拟成网卡,在PC机子上面装了相应的驱动后就能与板子ping能。给大家分享一下。
/drivers/usb/gadget/下面是的USB从设备驱动,有控制器驱动和USB设备驱动,即底层驱动和顶层驱动。s3c2410_udc.c是s3c2410 芯片的USB从设备底层驱动,先得移植这个才能加上其它驱动。有了底层驱动后,再加了ether.c,将USB虚拟成网卡,就能与PC机通信了。我做成模块s3c2410_udc.ko 和g_ether.ko,先insmod s3c2410_udc.ko再insmod g_ether.ko,插入USB线,计算机才能识别设备,并提示安装驱动,然后两边设置好IP后,网络就通了。当然,顶层用serial.c或fil_store.c也行,就是虚拟成的设备不一样而已。
*/


请问这个是用USB线直接把PC机和开发板连起来的就行么,还是要用特殊的USB转网卡的线啊!??
我把PC和开发板直接联起来有显示无法识别的设备但是没说让我安装驱动!而且找到的驱动PC都说不匹配!
能不能讲的详细点,我是根据网上刘洪涛老师的做的,上面的操作我都做了但是插到PC上只是提示无法识别的设备,但是没有提示安装。
我现在接到一个任务通过 s3c2410的usb 与上位机通信 ,我想做成usb网络的形式进行网络编程。
meiky 2011-07-05
  • 打赏
  • 举报
回复
而dummy_hdc.ko应该是一个虚拟的底层驱动,用于调试
meiky 2011-07-05
  • 打赏
  • 举报
回复
终于搞定了,成功将板子虚拟成网卡,在PC机子上面装了相应的驱动后就能与板子ping能。给大家分享一下。
/drivers/usb/gadget/下面是的USB从设备驱动,有控制器驱动和USB设备驱动,即底层驱动和顶层驱动。s3c2410_udc.c是s3c2410 芯片的USB从设备底层驱动,先得移植这个才能加上其它驱动。有了底层驱动后,再加了ether.c,将USB虚拟成网卡,就能与PC机通信了。我做成模块s3c2410_udc.ko 和g_ether.ko,先insmod s3c2410_udc.ko再insmod g_ether.ko,插入USB线,计算机才能识别设备,并提示安装驱动,然后两边设置好IP后,网络就通了。当然,顶层用serial.c或fil_store.c也行,就是虚拟成的设备不一样而已。
thunder__god 2011-07-03
  • 打赏
  • 举报
回复
不使用操作的裸机操作,我做过usb device 的固件,

加了操作系统,问题变得超级复杂,
thunder__god 2011-07-03
  • 打赏
  • 举报
回复
帮顶......
meiky 2011-07-02
  • 打赏
  • 举报
回复
解决了一大堆错误后,终于将2.6.24/drivers/usb/gadget/s3c2410_udc.c移植到2.6.16中,但是现在我插入USB线后,程序会进入s3c2410_udc.c中s3c2410_udc_irq()中断函数里,从里打印出向个寄存器状态信息,然后电脑端口还是显示无法识别,怎么办?是不是在中断里面应该发USB设备的一些信息到计算机,才能识别出来??
wyjq395 2011-06-30
  • 打赏
  • 举报
回复
我也发很多贴没人解答,这很正常的。当然,你描述的也不够清楚。
我也很想帮你解答,可是不会也没办法。
USB驱动可不是那么简单的,算是linux里面最复杂的驱动,不是三言两语就能说完的。
meiky 2011-06-30
  • 打赏
  • 举报
回复
查了些资料,发现用serial.c驱动之前先得有s3c2410_udc.c驱动,s3c2410_udc.c驱动针对2410的底层驱动,所以我现在先在移植这个,问题多多,有没有人弄过去,
meiky 2011-06-29
  • 打赏
  • 举报
回复
看了些资料,用serial.c好像是在PC端要装USB转串口的驱动,这样速度不就是串口通信的速度,很慢了.
有没有哪们做过.
steven_miao 2011-06-29
  • 打赏
  • 举报
回复
不清楚,幫頂,我倒是見過otg的
meiky 2011-06-29
  • 打赏
  • 举报
回复
怎么我发的贴都很少人关注的.现在我编译了 drivers/usb/gadget/serial.c 和dummy_hdc.c后,生成g_serial.ko 和dummy_hdc.ko,启动后insmod dummy_hdc.ko 再insmod g_serial.ko 后有打印出一些usb信息出来,没报错,但是插上电脑U口后总提示 无法识别设备,因此也无法装上驱动,有没有做过??????怎么办???

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧