21IC电子工程师论坛

查看: 5582|回复: 8

帮帮小妹!EZ-USB下载驱动程序(Ez-Loader)不能正常安装 [复制链接]

积分
367
帖子
113
本月在线
0小时0分
kuliuyisi 发表于 2007-8-25 15:52:00 |显示全部楼层 |返回版面
使用EZ-USB芯片AN2131QC,这个芯片可能过时了,用过CY7C68013的也可回答这个问题。使用框架的EzLoader编制驱动下载,所有步骤均按照相关资料进行,但是有几点不解,望赐教。
(1)相关手册上说。
修改开发板的VID/PID为0x0547/0x1004。将该USB外设的PID号写入到串行EEPROM中。有两种方法:
第一种:使用EEPROM编程器。将B0 47 05 04 10 01 00 七个字节编程到串行EEPROM的前7个单元中。
第二种:使用EZUSB控制面板。单击Download按钮,选择…Cypress usb Examples EzUsb Vend_Ax Vend_Ax.hex文件,几秒后该文件将下载到EZ-USB芯片中,接着修改ezusb开发板的PID为上一步中.inf文件所指定的PID的值,设置Req=0xA2,Dir=OUT,最后,单击Vend_Req按钮,即可将新的PID值写入到串行的EEPROM中。
第二种不太明白。其中“接着修改ezusb开发板的PID为上一步中.inf文件所指定的PID的值”是不是在Control Panel里把原来的B0 47 05 80 00 01 00 改为B0 47 05 04 10 01 00 ,然后再进行Req的操作,还是说通过设置设置Req=0xA2,Dir=OUT这两个步骤就已经将USB外设的PID写入了,而无需修改什么?
(2)在具体使用时,除了见自己编写的固件驱动(我的为monikaiguan.sys)拷贝到c:windowssystem32drivers下外,ezusb.sys是不是也要拷贝到这个目录下?
(3)关于inf文件。是不是将USB开发光盘中drivers下的EZUSBW2K.inf修改即可?
请大家看看我的inf文件有什么不对?固件程序是monikaiguan.sys,PID是1004
[Version]
Signature="$CHICAGO$"
Class=USB
provider=%Cypress%
LayoutFile=layout.inf

[Manufacturer]
%Cypress%=Cypress

[Cypress]
;
; This is the VID/PID for the EZ-USB development board.  This device
; is bound to a version of the general purpose driver that will
; automatically download the Keil 8051 monitor to external RAM.
; Do not use this VID/PID for your own device or the monitor will
; wipe out your firmware.
;
%USBVID_0547&PID_0080.DeviceDesc%=EZUSBDEV.Dev, USBVID_0547&PID_0080
%USBVID_04B4&PID_0081.DeviceDesc%=EZUSBDEV.Dev, USBVID_04B4&PID_0081

;
; This VID/PID is used by several of the EZ-USB development kit
; samples.  This device is bound to the general purpose driver.
;
;将原来的PID=1002改为1004
%USBVID_0547&PID_1004.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_1004

;
; The folowing PIDs are for all of the devices in the EZ-USB family.
; These are the hardcoded PIDs that will be reported by an EZ-USB
; device with no external EEPROM. Bound to the general purpose driver.
;
%USBVID_0547&PID_2131.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2131
%USBVID_0547&PID_2126.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2126
%USBVID_0547&PID_2125.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2125
%USBVID_0547&PID_2136.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2136
%USBVID_0547&PID_2122.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2122

; EZ-USB FX
%USBVID_0547&PID_2235.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2235
%USBVID_0547&PID_2236.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2236
%USBVID_0547&PID_2225.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2225
%USBVID_0547&PID_2226.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_2226

; EZ-USB FX2
%USBVID_04B4&PID_8613.DeviceDesc%=EZUSB.Dev, USBVID_04B4&PID_8613

[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
EZUSB.Files.Ext = 10,System32Drivers
EZUSB.Files.Inf = 10,INF
EZUSBDEV.Files.Ext = 10,System32Drivers
EZUSBDEV.Files.Inf = 10,INF

[EZUSB.Dev]
CopyFiles=EZUSB.Files.Ext, EZUSB.Files.Inf
AddReg=EZUSB.AddReg

[EZUSB.Dev.NT]
; copyfiles commented out for Win2K to avoid user intervention during install
; CopyFiles=EZUSB.Files.Ext, EZUSB.Files.Inf
AddReg=EZUSB.AddReg

[EZUSB.Dev.NT.Services]
Addservice = EZUSB, 0x00000002, EZUSB.AddService

[EZUSB.AddService]
DisplayName    = %EZUSB.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 2                  ; SERVICE_AUTO_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%System32Driversezusb.sys
LoadOrderGroup = Base

[EZUSB.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,ezusb.sys

[EZUSB.Files.Ext]
ezusb.sys

[EZUSB.Files.Inf]
ezusbw2k.Inf

[EZUSBDEV.Dev]
CopyFiles=EZUSBDEV.Files.Ext, EZUSBDEV.Files.Inf
AddReg=EZUSBDEV.AddReg

[EZUSBDEV.Dev.NT]
; copyfiles commented out for Win2K to avoid user intervention during install
; CopyFiles=EZUSBDEV.Files.Ext, EZUSBDEV.Files.Inf
AddReg=EZUSBDEV.AddReg

[EZUSBDEV.Dev.NT.Services]
Addservice = EZUSBDEV, 0x00000002, EZUSBDEV.AddService

[EZUSBDEV.AddService]
DisplayName    = %EZUSBDEV.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 2                  ; SERVICE_AUTO_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%System32DriversMONIKAIGUAN.sys
LoadOrderGroup = Base

[EZUSBDEV.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,MONIKAIGUAN.sys

[EZUSBDEV.Files.Ext]
MONIKAIGUAN.sys

[EZUSBDEV.Files.Inf]
ezusbw2k.Inf

;---------------------------------------------------------------;

[Strings]
Cypress="Cypress Semiconductor"
USBVID_0547&PID_0080.DeviceDesc="Cypress EZ-USB Development Board"
USBVID_04B4&PID_0081.DeviceDesc="Cypress EZ-USB FX2 Development Board"
USBVID_0547&PID_1004.DeviceDesc="我的系统"
USBVID_0547&PID_2131.DeviceDesc="Cypress EZ-USB (2131Q/2131S/2135S) - EEPROM missing"
USBVID_0547&PID_2126.DeviceDesc="Cypress EZ-USB (2126S) - EEPROM missing"
USBVID_0547&PID_2125.DeviceDesc="Cypress EZ-USB (2121S/2125S) - EEPROM missing"
USBVID_0547&PID_2136.DeviceDesc="Cypress EZ-USB (2136S) - EEPROM missing"
USBVID_0547&PID_2122.DeviceDesc="Cypress EZ-USB (2122S) - EEPROM missing"

USBVID_0547&PID_2235.DeviceDesc="Cypress EZ-USB (2235) - EEPROM missing"
USBVID_0547&PID_2236.DeviceDesc="Cypress EZ-USB (2236) - EEPROM missing"
USBVID_0547&PID_2225.DeviceDesc="Cypress EZ-USB (2225) - EEPROM missing"
USBVID_0547&PID_2226.DeviceDesc="Cypress EZ-USB (2226) - EEPROM missing"

USBVID_04B4&PID_8613.DeviceDesc="Cypress EZ-USB FX2 (68613) - EEPROM missing"

EZUSB.SvcDesc="Cypress General Purpose USB Driver (ezusb.sys)"
EZUSBDEV.SvcDesc="Cypress General Purpose USB Driver w/ Keil Monitor (MONIKAIGUAN.sys)"
安装驱动后,设备管理器中确实出现了“我的系统”,但是从实际情况看,我的固件程序MONIKAIGUAN.sys并没有自动下载,不知为何?
积分
105926
帖子
13905
本月在线
3小时45分
computer00 发表于 2007-8-25 16:33:00 |显示全部楼层 |返回版面

固件程序扩展名怎么会是.sys呢?应该是.hex吧?

.sys是windows的驱动程序,是在windows上跑的,不是下载到芯片中去的。


对于步骤二,你按照它写的一步步操作不就可以了?

如果你使用了自己的驱动,那么ezusb.sys就没有必要用了。
积分
367
帖子
113
本月在线
0小时0分
kuliuyisi 发表于 2007-8-25 19:33:00 |显示全部楼层 |返回版面

看来您没有用过EZ-USB啊

我知道.hex是固件,但是将来要下载到芯片中的是DDK编译的.sys文件,在插上设备枚举的时候使用的是自己的.sys文件,重枚举的时候使用的是通用驱动ezusb.sys,这是Cypress的ez-usb系列单片机的下载驱动程序的步骤吧。
其实关键就是那个.inf文件有问题。
积分
105926
帖子
13905
本月在线
3小时45分
computer00 发表于 2007-8-25 22:01:00 |显示全部楼层 |返回版面

没用过,呵呵

不过据我的了解,似乎你把这个过程搞反了呀。*.sys是windows的驱动文件,而hex文件则是你的固件。
应该是在设备接入时,由驱动程序负责将放在PC上的固件,下载到EZ-USB吧?然后芯片复位,执行
刚下载的固件,并进行重枚举,这时才需要你的sys文件提供驱动吧。这时芯片内并没存储固件,
只有VID和PID而已。具体怎样我也不清楚,看有没有其它人用过了。
积分
367
帖子
113
本月在线
0小时0分
kuliuyisi 发表于 2007-8-26 08:57:00 |显示全部楼层 |返回版面

等待用过的人帮助!能否给你们写过的.inf文件?

积分
367
帖子
113
本月在线
0小时0分
kuliuyisi 发表于 2007-8-27 12:05:00 |显示全部楼层 |返回版面

还在苦苦等待中...
积分
10
帖子
1
本月在线
0小时0分
wyq521003 发表于 2007-11-13 17:31:00 |显示全部楼层 |返回版面

ezusb.sys

ezusb.sys这个文件肯定要拷到drivers下面的。你那样用的步骤是先是loader.sys,然后再安装ezusb.sys的
积分
42
帖子
14
本月在线
0小时0分
xinqinglinzi 发表于 2013-5-20 21:05:42 |显示全部楼层 |返回版面
不知道您的问题解决了没,我现在也遇到类似的问题想请教
积分
39
帖子
13
本月在线
0小时0分
ishare 发表于 2013-6-15 10:32:54 |显示全部楼层 |返回版面
同问……
您需要登录后才可以回帖 登录 | 注册