EZ-USB上位机驱动开发(一)
2013-03-03 15:27
886 查看
最近需要给Cypress的CY7C68013芯片写windows驱动。CY7C68013的驱动程序分两部分,一个固件驱动,一个usb驱动。首次连接EZ-USB设备,首先需要安装“固件下载驱动”,这个驱动的作用为:当EZ-USB硬件连接时,自动将固件程序烧写到CY7C68013的RAM中,并修改设备PID(本例中将100A修改为1003)。当PID被修改后,加载USB驱动(ezusb.sys或cyusb.sys),这个驱动使得上位机可以通过标准WinAPI对硬件进行操作。固件驱动需要根据需要自己编写,而USB驱动由Cypress提供。
一、固件驱动的生成
这里需要用到的软件包括Cypress的EZ-USB开发套件,Windows最新的DDK,VC6.0,以及keil uvision。
下载地址为:
Windows Driver Kit Version 7.1.0:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff
CY3684 EZ-USB FX2LP Development Kit:
http://www.cypress.com/?rID=14321
1. 编写固件程序
CY7C68013芯片中有一个8051单片机,固件程序烧写在在RAM上被单片机执行。利用keil uvision软件和Cypress提供的开发框架,根据要实现的功能,编译生成*.hex文件。这里为loader.hex。
2. Hex文件转换
利用hex2c软件将.hex文件转为.c文件。将hex2c.exe和loader.c拷贝到无中文目录下,在CMD下进入该目录,运行hex2c loader.hex loader.c即可,得到c文件。
3. ezloader文件准备
将ezloader文件夹下的文件全部拷贝到一个新的文件夹(或者只拷贝图片显示的部分,其中AFXRES.H可以在VC6.0的安装目录下找到),将第二步生成的loader.c文件内的数组内容代替掉firmware内的数组内容, 将sources文件用记事本打开将“TARGETNAME=ezloader”更改为你想生成的系统文件名“TARGETNAME=myLoader”。
修改TARGETLIBS的指向为DDK相应的lib文件。如DDK安装在D盘下,生成xp 32位驱动调用:
TARGETLIBS=D:\WinDDK\7600.16385.1\lib\wxp\i386\Usbd.lib
生成win7 64位驱动调用:
TARGETLIBS=D:\WinDDK\7600.16385.1\lib\win7\amd64\Usbd.lib
4. 利用WinDDK生成.sys文件
这里以xp 32位为例,示意生成.sys文件的过程。首先打开DDK下Build Environment。这里的check和free模式的区别就像debug和release模式类似,一般选择check。
打开后出现命令行,将目录进入ezloader一步中新建立的文件夹,运行build -c。若出现错误则需进行调试,若无错误,则生成.sys文件在lib\i386\目录下。
至此,固件驱动程序编写完毕。
一、固件驱动的生成
这里需要用到的软件包括Cypress的EZ-USB开发套件,Windows最新的DDK,VC6.0,以及keil uvision。
下载地址为:
Windows Driver Kit Version 7.1.0:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff
CY3684 EZ-USB FX2LP Development Kit:
http://www.cypress.com/?rID=14321
1. 编写固件程序
CY7C68013芯片中有一个8051单片机,固件程序烧写在在RAM上被单片机执行。利用keil uvision软件和Cypress提供的开发框架,根据要实现的功能,编译生成*.hex文件。这里为loader.hex。
2. Hex文件转换
利用hex2c软件将.hex文件转为.c文件。将hex2c.exe和loader.c拷贝到无中文目录下,在CMD下进入该目录,运行hex2c loader.hex loader.c即可,得到c文件。
3. ezloader文件准备
将ezloader文件夹下的文件全部拷贝到一个新的文件夹(或者只拷贝图片显示的部分,其中AFXRES.H可以在VC6.0的安装目录下找到),将第二步生成的loader.c文件内的数组内容代替掉firmware内的数组内容, 将sources文件用记事本打开将“TARGETNAME=ezloader”更改为你想生成的系统文件名“TARGETNAME=myLoader”。
修改TARGETLIBS的指向为DDK相应的lib文件。如DDK安装在D盘下,生成xp 32位驱动调用:
TARGETLIBS=D:\WinDDK\7600.16385.1\lib\wxp\i386\Usbd.lib
生成win7 64位驱动调用:
TARGETLIBS=D:\WinDDK\7600.16385.1\lib\win7\amd64\Usbd.lib
4. 利用WinDDK生成.sys文件
这里以xp 32位为例,示意生成.sys文件的过程。首先打开DDK下Build Environment。这里的check和free模式的区别就像debug和release模式类似,一般选择check。
打开后出现命令行,将目录进入ezloader一步中新建立的文件夹,运行build -c。若出现错误则需进行调试,若无错误,则生成.sys文件在lib\i386\目录下。
至此,固件驱动程序编写完毕。
相关文章推荐
- 使用LabVIEW开发STM32 USB HID驱动和上位机软件成功
- 使用LabVIEW开发STM32 USB HID驱动和上位机软件成功
- LINUX USB驱动开发(2)-USB驱动体系分析
- USB驱动开发之mass storage的枚举识别过程
- WDF开发USB设备驱动教程(1)
- MF Porting之USB驱动开发
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- Linux USB 驱动开发(五)—— USB驱动程序开发过程简单总结
- windows xp 驱动开发(四) USB开发技术概述
- WinXP下USB驱动开发(二)
- Linux USB 驱动开发实例(一) —— USB摄像头驱动实现源码分析
- 嵌入式驱动开发之usb 无线网卡驱动---RT2870STA dm368
- usb驱动开发14之设备生命线
- Windows USB驱动开发点滴积累备忘录
- windows wdf 驱动开发总结(1)--usb驱动
- EZ-USB开发笔记(八)——电源管理
- EZ-USB开发笔记(十)——枚举与重枚举
- WDF开发USB设备驱动教程(2)
- WinCE平台USB摄像头驱动开发
- 嵌入式Linux下基于libusb的USB驱动开发