




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CYPRESS68013A(FX2LP系列)开发手记——驱动程序(1)一、CypressUSB驱动程序的几个版本截至目前,CY网站上至少公布了三个版本的驱动程序,最后那个SuiteUSB也在更新,罗列几个如下:早期EZUSB.SYS,这是给AN2131年代写的驱动程序,90年代公布,目前CY网站上已经删除。后期CYUSB.SYS,这是给FX2和FX2LP写的驱动,是前者的升级版本。随着《CY3684EZ-USBFX2LP开发套件》一起发布。2009年开始的SuiteUSB342,2011年的3.4.4,同时上述2项废止。全称叫“SuiteUSB3.4-USBDevelopmenttoolsforVisualStudio”,最新3.4.4公布时间2011年01月12日。2和3可以统称为CYUSB,它和EZUSB的区别如下:EZUSB的VID,PID是04B4,1002,具体由ezusbw2k.inf指定。这就是所谓通用驱动GPD(GeneralPurposeDrive),主机控制台叫EZ-USBControlPane。主机采用WindowsAPI进行开发,使用标准IOCTL函数。它由安装CypressEZ-USBDevelopmentKit开发包得到,版本号是261700。CYUSB的VID,PID是04B4,1004,具体由INF文件指定,对应的驱动应该是cyusb.sys,cyusbpre.inf,控制台使用CypressUSBConsole。主机使用CyAPI函数,当然IOCTL也可用(但与老版本有变化,见CYUSB.PDF)。它由安装“CY3684EZ-USBFX2LP开发套件”获得。最近一次更新时间是2010年01月05日,它的软件资料也指向了SuiteUSB,即下面第三条所列。CYUSB包含2个文件:cy3684_ez_usb_fx2lp_development_kit_15.exe,FX2和FX2LP开发板、演示、驱动等,缺省安装在c:\Cypress\USB目录下。cy3684_ez_usb_fx2lp_development_kit_17.zip,主要是GPIF工具、演示例程;缺省安装在C:\ProgramFiles\Cypress\GPIFDesigner目录下。SuiteUSB,上个版本是3.4.2,如今更新到3.4.4。它与CYUSB的差别在于,它支持.NET平台,可以使用C++、C#语言开发上层应用。硬件上支持64位操作系统。SuiteUSB的下载地址:/?rID=34870。3.4.2版本缺省安装在C:\ProgramFiles\Cypress,最新的3.4.4版本缺省安装在C:\Cypress\CypressSuiteUSB3.4.4。64bitsupportforWindowsXF,Vistaand7hasbeenincorporated.WindowsDriverModel(WDM)compliantWHQLCertified(notsigned)CompatiblewithanyUSB2.0compliantdeviceSupportsWindowsPnPandPowerManagementlevelS4SupportsUSBRemoteWake-upSupportsControl,Bulk,InterruptandIsochronousendpointsSupportsmultipleUSBdevicesconnectedatonceSupportscustomizabledriverGUIDwithoutrebuildingthedriverSupportshighbandwidthdatatransferspassingmultiplepacketsperuframe从目前看,2和3都是可选的,随着Windows7的推广,3会应用越来越广。如果使用VC6编程,只能选择2;如果使用C++、C#则选择3。我了解的信息是,2可以运行在Windows2000,WindowsXP、WindowsVista32位、Windows732位操作系统,但不能运行于Vista64位、Windows764位版本。、CypressSuiteUSB3.4.4介绍cyusb.sys驱动程序Cypress通用USB驱动程序C#库:cyusb.dll用于与cyusb.sys,usbhid.sys,usbstore.sys驱动程序通讯的类库C++库:cyapi.lib用于与cyusb.sys通讯的类库CyControlCenter,CvConsoleetc.C#与C++演示代码可运行与下列操作系统和平台:Windows2000(w2K)WindowsXP(wxp)WindowsVista(wlh)Windows7CPU类型:x86(32bit-i386)x64(64bit-amd64)3.4.4包含了C#与C++的例子,即,二者都支持。这就打消了USB驱动升级带来的向下兼容的疑虑。我们可以放心地使用新的CYUSB.SYS,不管是C#开发环境还是C++环境。三、CypressSuiteUSB3.4.4目录结构C:\Cypress\CypressSuiteUSB3.4.4目录下共有5个子目录,分别列出:1,C:\Cypress\CypressSuiteUSB3.4.4\Firmware目录下有5个子目录:子目录名文件名内容BinHex2bix.exeHex格式固件转换成IIC格式
IncludeFx2.hfx2regs.hfx2regs.incfx2sdly.hsyncdly.h固件开发时用到的include文件LibEZUSB.LIBUSBJmpTb.a51USBJmpTb.OBJ固件开发时用到的库函数Bulkloopbulkloop.c等批量传输的例子CyStreamerCyStreamer.c等Screamer、streamer一类流式程序加载的固件这些固件与之前的CYUSB版本的固件(前文第2项)并无太多差别。C:\Cypress\CypressSuiteUSB3.4.4\CyAPI Cypress开发的USB支持函数使用基于.NET2.0DLL库,CyAPI,软件开发人员可以快速建立一个与CypressGPDcyusb.sys通讯的应用。cyusb.sys是通用驱动程序,经Windowslogo确认。最初是在Studio2005和.NET2.0/3.0平台上开发的。C:\Cypress\CypressSuiteUSB3.4.4\Firmware目录下有5个子目录和2个文件:子目录名文件名内容Examples'cybulk若干批量传输的C++示例Examples'cvdesc若干读取设备描述符的C++示例Examples'FxEEPROM若干BC++示例Examples\Streamer若干测试端点吞吐量的C#示例,支持同步和批量传输IncCyAPI.hcyioctl.husblOO.husb200.h头文件
Lib\BC6CyAPI.libBC++函数库LIB\x64CyAPI.lib64位C函数库Lib\x86CyAPI.lib32位C函数库CyAPI.chmCyAPI文档CvAPI.DdfCyAPI文档CYPRESS68013A(FX2LP系列)开发手记——驱动程序(2)C:\Cypress\CypressSuiteUSB3.4.4\CyConsoleC:\Cypress\CypressSuiteUSB3.4.4\CyConsole目录下有3个文件:子目录名文件名内容CyConsole.exe控制台程序CvConsole.chm控制台程序文档CvConsole.pdf控制台程序文档C:\Cypress\CypressSuiteUSB3.4.4\CyUSB.NETC:\Cypress\CypressSuiteUSB3.4.4\CyUSB.NET目录下有3个子目录,4个文件:子目录名文件名内容BinBulkLoop.exeCyControl.exeCyUSB.dllScreamer.exe.NET平台下的应用程序LibCyUSB.dll支持文件Examples'BulkLoop若干C#编写的环路测试例程Examples、ControlCenter若干C#编写的控制中心例程,可测试cyusb.sys、usbhid.sys、usbstore.sys支持的各种设备Examples'Screamer若干C#编写的同步传输例程
Examples、Template若干C#编写的用于显示设备连接、驱动程序连接的模板CyControlCenter.chmCvControlCenter.Ddf控制中心例程的文档CyUSB.NET.chmCvUSB.NET.Ddf.NET类库,CyUSB.dll的文档C:\Cypress\CypressSuiteUSB3.4.4\Driver USB底层驱动,IOCTL支持C:\Cypress\CypressSuiteUSB3.4.4\Driver目录下有2个子目录,2个文件:子目录名文件名内容inccyioctl.hIOCTL支持的头文件bin\w2k\x86cyusb.infcyusb.sysWindows200032bit平台的安装文件bin\wlh\x64cyusb.infcyusb.sysVista64bit平台的安装文件bin\wlh\x86cyusb.infcyusb.sysVista32bit平台的安装文件bin\wxp\x64cyusb.infcyusb.sysWindowsXP64bit平台的安装文件bin\wxp\x86cyusb.infcyusb.sysWindowsXP32bit平台的安装文件CyUSB.chmCyUSB.pdfIOCTL支持文档,INF文件制作过程需要说明的是,类库CyAPI.lib和Cyusb.dll是高级接口,而CYUSB.SYS是低级接口。我们可以使用IOCTL操作设备(如同EZ-USB,前文第一项,但与早期的定义差别很大),也可以使用类库。四、硬件、固件的相关文章AN14557——讲述了开发USB应用的变迁,从EZUSB的对设备句柄进行10操作,到后来的静态链接库方式的CYAPI(它只能操作使用cyusb.sys的设备),到目前的SuiteUSB.net2.0(它可以操作cyusb.sys,usbstor.sys、usbhid.sys上的设备)。文章讲述了使用VisualStudio2005建立新应用的过程。AN15456——FX2LP硬件设计和调试指南。讲述了最小系统的构成,如果出现问题根据CLKOUT管脚的四种情况查找故障原因。重点讲述了驱动程序的故障排除。AN50963——在使用小容量EEPROM的前提下,如何建立一个固件,可以自动下载到FX2LP中。AN45197——Hex2Bix转换程序的用法。讲述了将.Hex格式转换成BIX(rawbinary)、A51、IIC格式的操作方法。AN45471——制造商命令设计指南。AN61244——固件的优化。AN58790——#编写的Bulk传输的主机应用。AN1196——FX2PCB设计建议。讲述了电路板分层、铺地、眼图等一系列内容AN1200——串口波特率发生器,软件等。针对全速设备。AN1193——EZ-USB定时器中断的用法。AN58985——使用VC++2008进行固件下载。如何解析一个HEX文件,并使用CYAPI.LIB将其下载到器件的RAM中。AN4053——通过同步传输或者批量传输端点的流应用。AN1036——电磁噪声环境下的USB错误处理。High-speedUSBPCBLayoutRecommendations PCB布线建议。AN13632——测试USB信号质量。USBComplianeeTestingOverview USB符合(Windowslogo)测试概述。AN52970——WHQL数字签名的过程。USBDriverUpdate.pdf 把系统较早时间的cyusb.sys升级到新版。AN61465——详细讲解了使用CYUSB.SYS制作INF文件的过程(针对新版SuiteUSB)。五、INF文件的构建1,AN61465详细介绍了INF文件的结构。2,C2启动模式下的INF文件3,CO启动模式下加载SPT文件的INF文件CY7C68013A_Slavefifo固件心得cy7c68013-56在使用Slavefifo进行数据传输的时候,EP2,EP4作为OUT端点,EP6,EP8作为IN端点。所以这些寄存器一定要搞懂:PINFLAGSAB,PINFLAGSCD.我们一般要用到FLAGA,FLAGB,FLAGC,FLAGD几个引脚,用于得到端点的状态,PINFLAGSAB,PINFLAGSCD是一组寄存器,用于设置这四个引脚的功能。PINFLAGSAB为例:PINFLAGSAB=0xe8;//FLAGA-fixedEP2E£FLAGB-fixedEP6FFSYNCDELAY;//FLAGA引脚,EP2空时为0,非空为1,FLAGB引脚,EP6满为0,非满为1PINFLAGSCD=0xac;//FLAGC-fixedEP2FF,FLAGD-fixedEP6EFSYNCDELAY;//FLAGC引脚,EP2满时为0,非空为1,FLAGD引脚,EP6空为0,非满为1FIFORESET是用于FIFO状态复位的。这个用下面这段就0K了。FIFORESET=0x80;//activateNAK-ALLtoavoidraceconditionsSYNC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能科技产品应用与推广指南
- 小学劳动教育课程构建
- 2025年小学英语毕业考试模拟卷(英语绘本阅读)-道德教育篇
- 2025年小学英语毕业考试模拟卷(词汇拓展运用)词汇拓展技巧实战试题
- 2025年成人高考语文经典题型强化题库解题思路详解
- 2025年区块链工程师职业能力测试卷:区块链数据库设计与实现试题
- 2025年舞蹈教师资格证考试模拟试卷:舞蹈教育心理学在课堂教学中的应用
- 2025年乡村医生考试题库:农村医疗卫生机构管理实务试题集
- 2025年小学英语毕业考试模拟卷(英语绘本阅读)科普故事理解试题
- 2025年小学教师资格考试《综合素质》教育资源整合创新试题汇编(含答案)
- LMX2594实现跳频的编程时序分析
- 巨幼细胞贫血诊疗规范2022版
- 领导力与企业文化、企业管理之辩证关系-以泰州港务集团为案例的研究的开题报告
- 网络协议逆向工程技术
- 沥青路面损坏调查表(带公式自动计算)
- 影视鉴赏之《当幸福来敲门》
- 校园超市投标书1
- 施工企业数字化转型实施方案
- 审计资料交接清单
- 介绍辽宁丹东的PPT模板
- 第六章-社会主义的发展及其规律
评论
0/150
提交评论