新闻  |   论坛  |   博客  |   在线研讨会
(转自21ic)cy7C68013a固件驱动制作方法
0750long | 2009-05-07 16:58:53    阅读:4010   发布文章

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

 

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

需要软件:VC6,DS,NTDDK

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

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

B,启动MS-DOS,在MS-DOS下定位到cypress\usb\bin。

C,键入命令hex2c a.hex firmware.c。在这个目录下就生成了firmware.c文件。

2,   将firmware.c文件COPY到Cypress\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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客