阅读:2405回复:8
100分,想把分送出去都那么难!ezusb.sys
按照ezloader的说明进行。
1、首先生成hex(我自己的firmware) 2、使用hex2c将其转化为c 3、更新firmware.c内的firmware[] 4、win2000 ddk下编译生成wdgtldr.sys 5、写inf(就是那个pdf文件中提供的那个) ; Place your Copyright information here [Version] Signature="$CHICAGO$" Class=USB ClassGuid={36FC9E60-C465-11CF-8056-444553540000} provider=%Cypress% CatalogFile=ezusb.cat ;The CatalogFile entry above is an example and should be uncommented and modified for your driver DriverVer=06/18/2003, 1.0.0.0 ;The DriverVer entry above is an example and should be uncommented and modified for your driver [Manufacturer] %Cypress%=Cypress [SourceDisksNames] 1=%strWidgetSourceDiskName%,,, ;The above section is for example purposes ;Uncomment and modify this section for your driver [SourceDisksFiles] wdgtldr.sys=1 ezusb.sys=1 ;The above section is for example purposes ;Uncomment and modify this section for your driver [Cypress] ; ; Entry point for the widget before firmware download and renumeration ; This VID/PID combination will call the EZ-Loader driver and download ; your firmware. Your finished product should use your own unique VID ; see www.usb.org for additional information %USB\VID_0547&PID_1004.DeviceDesc%=WIDGET.Dev, USB\VID_0547&PID_1004 ; Entry point for the widget after firmware download and renumeration ; Your firmware has been download, the device has ReNumerated, now we ; want to use the EZ-USB General Purpose Device Driver. Your finished ; product should use your own unique VID - see www.usb.org %USB\VID_0547&PID_1005.DeviceDesc%=EZUSB.Dev, USB\VID_0547&PID_1005 [DestinationDirs] EZUSB.Files.Ext = 10,System32\Drivers WIDGET.Files.Ext = 10,System32\Drivers [EZUSB.Dev] CopyFiles=EZUSB.Files.Ext, EZUSB.Files.Inf AddReg=EZUSB.AddReg ;This section is for Windows 98, if you do not wish to support Windows 98 ;delete or comment out above section [EZUSB.Dev.NT] CopyFiles=EZUSB.Files.Ext AddReg=EZUSB.AddReg [EZUSB.Dev.NT.Services] Addservice = EZUSB, 0x00000002, EZUSB.AddService [EZUSB.AddService] DisplayName = %EZUSB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\ezusb.sys LoadOrderGroup = Base [EZUSB.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,ezusb.sys [EZUSB.Files.Ext] ezusb.sys [WIDGET.Dev] CopyFiles=WIDGET.Files.Ext, WIDGET.Files.Inf AddReg=WIDGET.AddReg ;This section is for Windows 98, if you do not wish to support Windows 98 ;delete or comment out above section [WIDGET.Dev.NT] CopyFiles=WIDGET.Files.Ext AddReg=WIDGET.AddReg [WIDGET.Dev.NT.Services] Addservice = WIDGET, 0x00000002, WIDGET.AddService [WIDGET.AddService] DisplayName = %WIDGET.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\wdgtldr.sys LoadOrderGroup = Base [WIDGET.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,wdgtldr.sys [WIDGET.Files.Ext] wdgtldr.sys ;---------------------------------------------------------------; [Strings] strWidgetSourceDiskName = "Cypress USB Drivers" ;The string above and the strings below should be modified to meet your needs Cypress="Cypress Semiconductor" USB\VID_0547&PID_1004.DeviceDesc="Using widget.inf for EZ-Loader before ReNumeration (wdgtldr.sys)" USB\VID_0547&PID_1005.DeviceDesc="Cypress Widget afterReNumeration (ezusb.sys)" EZUSB.SvcDesc="Cypress General Purpose USB Driver (ezusb.sys)" WIDGET.SvcDesc="Cypress General Purpose USB Driver w/ Widget Loader (wdgtldr.sys)" ;The Windows DDK provides a chkinf tool that can be used to check your inf for errors. ;The chkinf tools requires Perl which can be downloaded, at the time of publication, ;at http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl ;end of widget inf file 结果,在开发板上可以实现预期的结果,后来把eeprom(B4 47 05 04 10 01 00..,就是按照手册上的,通过vend_ax写入),放到我自己的板子上,然后 插上usb口后,用usbview查看,发现pid=1004,而不是1005(写在 firmware里面的),也就是说板子的状态是 Using widget.inf for EZ-Loader before ReNumeration, 这是什么原因呢?为什么是widget.sys而不是ezusb.sys。 很奇怪在开发板上是可以的,说明inf文件没有问题,那么放到我自己的板子上就这样呢? 各位大虾们,帮帮忙啦!好几天了,郁闷~~~~~~~~ |
|
沙发#
发布于:2004-08-26 14:34
在线等!!!
|
|
板凳#
发布于:2004-08-26 16:23
为什么没有人回答啊?
|
|
地板#
发布于:2004-08-26 20:19
大侠有XP下的DDK程序吗,微软不让下呀,给个下载地址吧!gdutchen214@sohu.com
|
|
地下室#
发布于:2004-08-27 13:38
结果,在开发板上可以实现预期的结果,后来把eeprom(B4 47 05 04 10 01 00..,就是按照手册上的,通过vend_ax写入),放到我自己的板子上,然后
插上usb口后,用usbview查看,发现pid=1004,而不是1005(写在 firmware里面的),也就是说板子的状态是 Using widget.inf for EZ-Loader before ReNumeration, 将eeprom(B4 47 05 04 10 01 00..,改为B4 47 05 05 10 01 00看看呀 |
|
5楼#
发布于:2004-08-31 10:11
help~~~~~~~~~~~~~~~
|
|
6楼#
发布于:2004-08-31 11:26
StartType = 2 ; SERVICE_AUTO_START
|
|
7楼#
发布于:2004-08-31 11:45
我看了以前的贴子,也有说到这个问题的,我刚才已经改成StartType = 2 ; SERVICE_AUTO_START(2个都改了),除了这个,
其它的我都按照ezusb2k.inf的格式修改了。 可还是不行,依然是那个结果。 想不明白,为什么会这样。 难道说开发板的枚举过程和自己板子的枚举过程不一样?或者说我的板子有问题? 大虾门帮帮忙啦~~~~~~~~~ |
|
8楼#
发布于:2004-09-19 23:34
; Entry point for the widget before firmware download and renumeration
; This VID/PID combination will call the EZ-Loader driver and download ; your firmware. Your finished product should use your own unique VID ; see www.usb.org for additional information %USBVID_0547&PID_1004.DeviceDesc%=WIDGET.Dev, USBVID_0547&PID_1004 ; Entry point for the widget after firmware download and renumeration ; Your firmware has been download, the device has ReNumerated, now we ; want to use the EZ-USB General Purpose Device Driver. Your finished ; product should use your own unique VID - see www.usb.org %USBVID_0547&PID_1005.DeviceDesc%=EZUSB.Dev, USBVID_0547&PID_1005 将第一处的PID改为1005 第二处的PID改为1004 将eeprom(B4 47 05 04 10 01 00..,改为B4 47 05 05 10 01 00 要使用ezloader,初始的PID必须为1005 |
|