打印

每次插入电脑都弹出硬件安装向导

[复制链接]
1145|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
houcs|  楼主 | 2018-5-16 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

做了一块USB板子,用的CY7C68013,写好驱动之后,每次插入电脑都弹出硬件安装向导
沙发
liuzaiy| | 2018-5-16 11:14 | 只看该作者

重新指定sys文件的位置还能用吧

使用特权

评论回复
板凳
houcs|  楼主 | 2018-5-16 11:18 | 只看该作者

能是能,多麻烦啊

使用特权

评论回复
地板
yinxiangh| | 2018-5-16 11:21 | 只看该作者

你说的IDl老是不同时什么意思?

使用特权

评论回复
5
houcs|  楼主 | 2018-5-16 11:24 | 只看该作者
发现每次电脑读上来的硬件ID : "USB\VID_aaaa&PID_bbbb\ccccccccc"中,"aaaa""bbbb"字段都不变,可是“ccccccccc”字段却不一定相同。

使用特权

评论回复
6
houcs|  楼主 | 2018-5-16 11:28 | 只看该作者
“ccccccccc”字段到底是怎么指定的

使用特权

评论回复
7
pangb| | 2018-5-16 11:30 | 只看该作者
貌似"cccccccc"是序列号

使用特权

评论回复
8
houcs|  楼主 | 2018-5-16 11:33 | 只看该作者
与什么有关,有没有办法解决这个问题。

使用特权

评论回复
9
chenjunt| | 2018-5-16 11:40 | 只看该作者
哦,对了,这个ID不是firmware返回的吗?

使用特权

评论回复
10
ousj| | 2018-5-16 11:42 | 只看该作者
你用的是cypress的芯片吧,51的MCU?

使用特权

评论回复
11
morrisk| | 2018-5-16 11:45 | 只看该作者

cypress提供了一个通用的驱动,我以前没有碰到过你这样的问题,当然firmware是自己写的。

使用特权

评论回复
12
houcs|  楼主 | 2018-5-16 11:49 | 只看该作者
问题在于我firmware里边并没有指定serial number,所以我才奇怪系统怎么形成cccccc这个字段的。

使用特权

评论回复
13
houcs|  楼主 | 2018-5-16 15:34 | 只看该作者

我使用的芯片是Cy7c68013,51的MCU。

使用特权

评论回复
14
zyf部长| | 2018-5-16 15:39 | 只看该作者

技术手册上写了怎么指定serial number的了吧

使用特权

评论回复
15
houcs|  楼主 | 2018-5-16 15:42 | 只看该作者
技术手册不详细啊,其实问题在于我在CY7C68013中没有指定serial number,很想知道系统是怎么生成这个“ccccccccc”的。

使用特权

评论回复
16
xxmmi| | 2018-5-16 15:44 | 只看该作者
EzUSB的库里有firmware的demo,你去cypress上下一个来看看便知,使用C的,相当简单。

使用特权

评论回复
17
houcs|  楼主 | 2018-5-16 15:47 | 只看该作者
这根firmware没关系

使用特权

评论回复
18
houcs|  楼主 | 2018-5-16 15:50 | 只看该作者
例子 : 3&61aaa01&0&E8
分成四个部分:
第一个3表示这个device在整个device tree里面的level.他在第三级
root是0,root下面是usb再下面是usb root hub.这个设备就直接在usb root hub下面
第二个是个hash值.他是这个设备的parent 设备的instance path大写以后计算出来的hash值
instance path是从current control set下面的enum算起(不包含enum)
第三个是hash instance.你很少有看到这个值不为0的
他表示为同一个parent计算上面这个hash的次数 - 1.通常都只是计算一次.计算以后就会保存下面.下一次就直接读取了而不会再重新计算
最后一个就是由bus驱动为他们的pdo返回的instance id了

使用特权

评论回复
19
kangzj| | 2018-5-16 15:54 | 只看该作者
我觉得很奇怪,一般来说后面要么见不到所谓你说ccccc的那一串,要么就不影响驱动安装。

使用特权

评论回复
20
zwll| | 2018-5-16 15:56 | 只看该作者
下面是从CyUSB.inf中截取的一段:

[Cypress]
%VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&PID_8613
%VID_04B4&PID_6830.DeviceDesc%=CyUsb, USB\VID_04B4&PID_6830
%VID_04B4&PID_1003.DeviceDesc%=CyUsb, USB\VID_04B4&PID_1003
%VID_0547&PID_1002.DeviceDesc%=CyUsb, USB\VID_0547&PID_1002
%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX

它们是在USB设备进行配置的时候由描述符来生成的,sample firmware中是如下写的(取自dscr.a51):
DeviceDscr:   
  db DSCR_DEVICE_LEN ;; Descriptor length
  db DSCR_DEVICE ;; Decriptor type
  dw 0002H ;; Specification Version (BCD)
  db 00H ;; Device class
  db 00H ;; Device sub-class
  db 00H ;; Device sub-sub-class
  db 64 ;; Maximum packet size
  dw 0B404H ;; Vendor ID
  dw 0310H ;; Product ID (Sample Device)
  dw 0000H ;; Product version ID
  db 1 ;; Manufacturer string index
  db 2 ;; Product string index
  db 0 ;; Serial number string index
  db 1 ;; Number of configurations

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

粉丝