免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4310 | 回复: 3
打印 上一主题 下一主题

[驱动] 要疯啦!有谁做过cypress公司的CY7c68013在linux上的USB驱动,求大神指点! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-13 21:59 |只看该作者 |倒序浏览
本帖最后由 chenzysir 于 2016-06-13 22:01 编辑

手里有一个声阵列传感器(就一黑盒子),数据是通过USB先传出来的。老师要求针对它写出linux下的USB驱动(在ARM上面),把数据读出来。最近刚学ARM-linux,手头一块TQ210开发板。一开始看着这个黑盒子,整个人都懵逼了好吗:这是什么鬼?老师你想要我干嘛??我该怎么办?

师兄让我先把黑盒子拆开,看到了里面的电路板,上面用到了CY7c68013芯片,与USB线相连,一查是一个USB芯片,应该就是它没错了。我把它的USB先接到PC上,使用lsusb命令,虚拟机(红帽企业版6)能读出设备信息,如下图:


说明它能被USB总线驱动所识别,而且能查到设备的ID、接口描述符、端点描述符。有四个端点,都是bulk类型,两个IN两个OUT。

然后设置写个驱动:好吧,其实就是把usb-skeleton.c的两个id改成设备id。把驱动模块移植到板子上,insmod之后,把传感器接到板子上,发现能跟这个驱动程序匹配,/dev目录下也生成了skel0设备文件。如下图:


然后我就不知道怎么办了。我应该怎么去把传感器里的数据读出来?刚才说到该设备有四个端点,我该如何找到特定端点并且读出里面的数据?

网上找了好多关于CY7c68013驱动的资料,说是要先调通固件。我手头的是一个现成的传感器,只不过里面用到了CY7c68013这块芯片,按理说里面的固件应该已经调好了吧,我知道参考里面的固件来写自己的驱动OK吧?这样的话。。。该怎么查询里面的固件?

刚入门linux,现在毫无头绪,哪位大神能指定一下?谢谢!!

论坛徽章:
7
IT运维版块每日发帖之星
日期:2016-05-27 06:20:00IT运维版块每日发帖之星
日期:2016-06-09 06:20:00操作系统版块每日发帖之星
日期:2016-06-12 06:20:00程序设计版块每日发帖之星
日期:2016-06-12 06:20:00操作系统版块每日发帖之星
日期:2016-06-13 06:20:00IT运维版块每日发帖之星
日期:2016-06-17 06:20:002015-2016NBA季后赛纪念章
日期:2016-06-28 17:42:27
2 [报告]
发表于 2016-06-13 23:02 |只看该作者
熟悉usb通信协议就好了。
根据idVendor idProduct, 修改usb-serial.c里面的一个结构体,这样就好了,看看/dev/下面有没有生成ttyUSB0或者ttyUSB1 之类的,如果有,直接使用minicom打开设备就行了,有数据就会输出的。

基本就是这个套路。

论坛徽章:
0
3 [报告]
发表于 2016-07-25 15:45 |只看该作者
楼上的说的有道理!我猜这种东西多数模拟成usb串口来用的。你可以把这个盒子驱动装到WINDOW上,看看它是否注册成串口这类的东西。如果是串口那就简单不过,直接用串口软件抓包。
否则就用bushund种类的USB抓包软件直接抓USB包,然后在LINUX下重新实现主机的功能吧。

论坛徽章:
0
4 [报告]
发表于 2016-09-11 14:34 |只看该作者
最好的办法,是向厂家索要官方文档
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP