捣鼓了几天,终于把cypress的固件下载到usb开发板上,bulkloop测试成功。
现在把usb开发环境搭建的过程记录下来,一方面是为了备忘,另一方面也为后来的童鞋提供参考。
话说回来,我一开始就抱着华清远见的usb学习书啃,啃了几天就晕了,华清远见神马的实在太神out了………
接着买了一块开发板EZ-USB FX2LP CY7C68013A USB核心板(如下图)
这板子没光盘,只有20M左右的例子源码(就冲着几十块钱买的),板子到手时测试了一下,发现板子的VID和PID不是cypress的,看了那少的可怜的资料,发现板载的eeprom被刷了Saleae Logic Analyzer的固件,果断拔了跳线帽,在接入PC,终于显示VID_04B4&PID_8613(这是cypress默认的)。
是时候说回开发环境搭建,首先要准备:
1、Keil(版本较新为好,这里用的是uVersion3 v8.02,其中包含了cypress的EZ-USB FX2LP系列的库);
2、CY3684 EZ-USB FX2LP Development Kit (登录http://www.cypress.com/?rID=14321,下载下图红框中的文件,如果不怕麻烦可以下载完整的开发包iso镜像)。
3、VC 6.0(用来开发上位机程序及驱动等)
4、忘记了
准备好上述工具就开始搭建了,先安装keil,接着安装cypress开发工具,打开CY3684Setup.exe,
一路默认安装,到安装keil uVersion2时取消安装keil,CY3684自带的keil是简化版,我个人需要所以另外安装完整的keil。
安装完成后在C:\Cypress看到两个文件夹
最后,安装VC6.0,这样usb的开发环境基本完成了,现在试一试下载固件到usb开发板。
首先断开开发板上eeprom的连接,通过usb线连接到电脑上,打开设备管理器,就看到一个未知设备,双击它,查看硬件ID
可以看到VID为04B4,PID为8613,可是开发板还没有驱动上,需要手动添加驱动。
进入C:\Cypress\Cypress Suite USB 3.4.7\Driver\bin\wlh\x86,找到cyusb.inf,这是cypress提供的通用驱动配置,有了它我们在usb驱动这块就省了不少麻烦,不然又要安装DDK,又要DirverStudio实在让人头疼。
先备份cyusb.inf,再打开可以看到:
;for all platforms
[Device]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for windows 2000 non intel platforms
[Device.NT]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for x86 platforms
[Device.NTx86]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
;for x64 platforms
[Device.NTamd64]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX
关键部分被注释了,这样是没法安装驱动的,必须把%VID_XXXX&PID_XXXX前的冒号删掉,然后把所有VID_XXXX&PID_XXXX替换成VID_04B4&PID_8613,接着保存。
再回到设备管理器,找到usb开发板,右键->更新驱动程序->浏览计算机上的驱动文件,选择红框内选项
然后选择从磁盘安装,定位到C:\Cypress\Cypress Suite USB 3.4.7\Driver\bin\wlh\x86\cyusb.inf,确定后如下图
点击下一步开始安装,期间可能弹出警告,无视之。
安装完成后可以看到Cypress USB Generic Driver (3.4.7.000)。
点击开始菜单,启动CyConsole,可以看到CyConsole正常识别usb开发板
接着开始测试,cypress提供了大量例子,这里选择bulkloop进行测试,在这之前先把cypress文件夹里的Firmware文件夹的只读属性取消,不然无法修改程序源码。
用keil打开bulkloop里的工程文件,暂时不做修改,直接编译,得到bulkloop.hex和bulkloop.iic。
打开CyConsole,点击Lg EEPROM,选择bulkloop.iic,接着下载到usb开发板(连接到电脑后,再接上跳线帽,连接eeprom)。
重启开发板,发现电脑不能识别,打开设备管理器看到,usb开发板的PID变为1004,于是只好再修改cyusb.inf文件,把8613换成1004,再重新安装驱动。
重新安装后,打开开始菜单,启动Bulk Loop,程序显示驱动上了,点击start,测试开发板。
成功运行 ^_^