choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
阅读:2356回复:9

vid pid 不匹配的问题?

楼主#
更多 发布于:2007-04-26 18:30
  我用cypress的68013,在firmware的dscr.a51中我设定 pid ,vid分别为1002,0547,但是当我连上设备后驱动用的pid,vid确是8613,04b4。我之所以知道不符是因为在ezusbw2k.inf中提供了好多种pid,vid供匹配,但是每种选择所对应的DeviceDesc是不一样的,所以在“设备管理器”中所显示的识别出来的名称就不一样,本来应该显示“Cypress EZ-USB Sample Device”,可实际显示的是“Cypress EZ-USB FX2 (68613) - EEPROM missing”。
    所以我想问为何firmware中所作的设定没有起作用?
    
    有一点需要说明的是我的firmware是用cypress带的例子来改的,改动前一切正常,但改动后就出现像上面的现象了,但我没改动pid,vid,我没有发现改动其他地方还可以影响pid ,vid,还请指点!
SEIZE THE DAYS!
zchong
驱动牛犊
驱动牛犊
  • 注册日期2006-12-29
  • 最后登录2007-11-09
  • 粉丝0
  • 关注0
  • 积分250分
  • 威望26点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-26 20:28
你上电的时候应该是E2PROM没有连接好,不是C0或者C2 模式启动,这时候使用的是默认的vid pid
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-27 09:11
我想知道:
1.我的板子根本就没有eeprom,也就无所谓连好不连好了,cypress的例子居然能让系统按有eeprom启动,我改动后可能修改了它的这部分代码,不过无所谓反正我也不用eeprom,我只想知道这种按默认模式启动应该不妨碍我的板子的使用吧?
2.如果真的其他地方可以控制对pid vid的选择,那在dscr.a51中设定pid vid还有什么用?
SEIZE THE DAYS!
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-27 10:13
惭愧问了这么菜的问题,我已经搞懂,看来还应该以自力更生为主
SEIZE THE DAYS!
grubby
驱动牛犊
驱动牛犊
  • 注册日期2007-05-04
  • 最后登录2007-05-16
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-06 13:26
问下楼主
PID和VID是不是要在INF文件改呢?
我这也很模糊
你要是懂了就和我说下吧
谢谢先
待业中
grubby
驱动牛犊
驱动牛犊
  • 注册日期2007-05-04
  • 最后登录2007-05-16
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-06 13:26
问下楼主
PID和VID是不是要在INF文件改呢?
我这也很模糊
你要是懂了就和我说下吧
谢谢先
待业中
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-08 08:47
如果你也用的是68013那么你应该知道它有一个重要特性就是重枚举,当你给板子上电但不刷固件时系统会一一个默认的vid pid进行枚举,这个值文档中有,当你刷了固件后系统会再次按照你的固件中的dscr.a51中设定的vid pid再次枚举,两次枚举所获得的设备名称是在inf文件中设定的,所以如果你想修改vid pid还是应该修改dscr.a51中的参数
SEIZE THE DAYS!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-05-08 09:38
改dscr.a51中的参数
然后在inf文件中写入相应的字段
下载固件后即可重枚举,重枚举完成用的就是新的VID和PID

在设备上电情况下,如果重复下载同样的固件,那么将不会触发重枚举,如果你期望每下载一次就触发一次重枚举
那么更改如下程序:在文件fw.c中
#ifndef NO_RENUM
   // Renumerate if necessary.  Do this by checking the renum bit.  If it
   // is already set, there is no need to renumerate.  The renum bit will
   // already be set if this firmware was loaded from an eeprom.
  if(!(USBCS & bmRENUM))
   {
       EZUSB_Discon(TRUE);   // renumerate
   }
#endif

EZUSB_Discon(TRUE);   // renumerate,加上这一行或者更改上述程序段强制重枚举
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-08 09:40
这样带来的问题是,每次下载都会有几秒钟的重枚举时间
如果看设备管理器,现象是设备先断掉,然后再刷新出来,这个需要几秒钟的时间。
notwind
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2007-08-22
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-06-27 16:20
再请教 ,我也是68013,没有eeprom,用的默认vid、pid,刚开始连接时加载的默认驱动,我一看不是我自己的驱动,就改了一下inf,现在已经不能按装了,一插上,显示ezusb Fx2,然后安装无法完成,在设备管理器里显示其他设备,现在怎么改inf也不行了,大家觉得是哪的问题?另外我不知道怎么在inf里绑定两个驱动程序,哪有例子可以给我一份,多谢了
游客

返回顶部