原创 (转自21ic)cy7C68013a固件驱动制作方法

2009-5-4 22:58 7831 12 10 分类: 通信
 


用的是第一版FX2的ezloader.sys这个驱动,方法如下:


需要软件:VC6DSNTDDK<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1,首先将固件生成的HEX文件转化为firmware.c文件:(比如你的固件名是a.hex)


a,HEX文件COPY到开发包cypress\usb\bin目录下。


B,启动MSDOS,在MSDOS下定位到cypress\usb\bin


C,键入命令hex<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2c a.hex firmware.c。在这个目录下就生成了firmware.c文件。


2,   firmware.c文件COPYCypress\USB\Drivers\ezloader目录下,将原来的文件替换掉。


3,如果在Cypress\USB\Drivers\ezloader下没有VC需要的工程文件名,需要转换:


DriverStudio的安装目录下找到C:\Program Files\Compuware\SoftICE Driver Suite\Tools\SrcToDsp,打开SrcToDsp,在第一个按钮“”选择要转换的文件(Cypress\USB\Drivers\ezloader\source,选好后,点击Create按钮,就生了VC的工程文件。


4,   打开Cypress\USB\Drivers\ezloader下的ezloader.dsw就可以编译了:


VC打开后有一个DS的浮动工具栏,点倒数第二个按键“改变环境变量”,DDK的根目录定位到你的NTDD下如d:\NTDDK,然后点OK退出。后后点DS的浮动工具栏的最后一个按钮Build with DDK…..”就可以生成你要固件驱动ezloader.sys了。(这里点击完成后,提示错误"don't know how to make 路径\usbd.lib", 查看source文件发现路径与我的系统不一样,修改,重新Build with DDK,成功生成ezloader.sys文件。)


 


 


这个文件在那个目录不一定,你可以看看它的生成时间就知道了哪个是最新生成的。


5,   完成你所有的驱动制作


新建一个文件夹,在CYPRESS的目录下找EZUSB.sys这个文件,把ezloader.sys放在EZUSB.sys这个文件夹里,再制作一个INF文件(比如叫EZWin2K.inf),也放在这个文件夹里,INF的内容如下,


Version]


Signature="$CHICAGO$"


Class=USB


provider=%Cypress%


LayoutFile=layout.inf


 


[Manufacturer]


%Cypress%=Cypress


 


[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.


%USB\VID_04B4&PID_8613.DeviceDesc%=EZUSB.Dev, USB\VID_04B4&PID_8613


 


; Entry point for the widget after firmware download and renumeration


; Your firmware has been download, the device has ReNumerated. Now use


; the Cypress EZ-USB General Purpose Device Driver.


%USB\VID_0754&PID_1002.DeviceDesc%=EZUSBDEV.Dev, USB\VID_0754&PID_1002


[PreCopySection]


HKR,,NoSetupUI,,1


 


[DestinationDirs]


EZUSB.Files.Ext = 10,System32\Drivers


EZUSB.Files.Inf = 10,INF


EZUSBDEV.Files.Ext = 10,System32\Drivers


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%\System32\Drivers\ezloader.sys


LoadOrderGroup = Base


 


[EZUSB.AddReg]


HKR,,DevLoader,,*ntkern


HKR,,NTMPDriver,,ezloader.sys


 


[EZUSB.Files.Ext]


ezloader.sys


 


[EZUSB.Files.Inf]


EZWin2K.Inf


 


[EZUSBDEV.Dev]


CopyFiles=EZUSBDEV.Files.Ext, EZUSBDEV.Files.Inf


AddReg=EZUSBDEV.AddReg

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
12
关闭 站长推荐上一条 /3 下一条