原创 [博客大赛]USB接口芯片 CY7C68013 (4)

2014-6-3 14:35 805 9 9 分类: 通信 文集: 接口

驱动,驱动,还是驱动

 

使用USB芯片开发项目,“固件 、上位机、 驱动”  三样东西是必须要搞定的。

Cypress 的工具包中,提供了几乎需要的所用东西(Suite USB 3.4.7安装包下),上位机的例程,固件以及驱动,直接在这些基础上简单修改即可。不用自己写驱动,在cyusb.inf文件中添加和固件对应的USB设备的VID PID 就可以使用了。

1、如果68013没有外接EEPROM,或者EEPROM无效,打开 Cypress USB Consloe ,这是缺省USB枚举方式,出厂默认的设备 VID=0x04B4 PID=0x8613 ;所以会在 Cypress USB Consloe 界面中看到这个USB设备;

2、打开 EZ-USB interface 可以调试这个缺省USB设备,或者下载自己的固件,调试固件;以及烧写EEPROM等。

上面的情况,需要在cyusb.inf 文件中添加缺省USB和自定义USB设备对应的VID PID ,如下

1.jpg
 
第一行是缺省的USB  VID=0x04B4  PID=0x8613  ;
第二行是一个自定义固件的USB设备,烧写进了EEPROM  ;
第三行也是自定义USB设备,可以通过download 进行调试 ;
 
注意: cyusb.inf 和 cyusb.sys 是配套的。 一个cyusb.inf驱动 可以对应很多USB设备,只要把相应固件中的VID PID 添加进这个文件即可。
驱动文件目录  \Cypress\Cypress Suite USB 3.4.7\Driver\bin
 
 
我遇到的问题: 之前用 EZ-USB Control Panel   调试一个固件,然后又把iic文件烧写进了外部EEPROM,实现了上电固件从外部启动。这是一个把老版本,驱动安装的ezusb.inf  ezusb.sys ,用新版的控制台 Cypress USB Console 识别不到这个烧写的固件设备。怎么办??怎么实现老到新的变换,用Cypress USB Console 也能识别 ??
 
解决的办法: 这个已经烧写进EEPROM的固件中 VID=1162  PID=1301 ,把这个VID PID写到新版驱动文件 cyusb.inf 中,然后把这个USB设备对应的驱动卸载掉,重新安装新驱动cyusb.inf ,这样就能用 Cypress USB Console  识别到了 ! 接着,可以重新下载并调试新的固件,也可以通过Cypress USB Console 烧写新的固件 iic 文件 。
 
EZ-USB Control Panel  使用的是老版本的驱动 ezusb.sys ,而Cypress USB Console 对应的是新版本的驱动cyusb.sys ,所以会出现识别不到的情况。
 
 
上位机的设计中,新版直接调用的 cyAPI 函数,新版驱动提供了函数库cyAPI.lib ,所以用新版上位机读取老版本驱动对应的USB设备肯定不会成功。
 
上位机,驱动(VID PID),固件(VID PID) 必须一致,这个系统才能工作 !
 

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条