版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
CYPRESS68013A(FX2LP系列)開(kāi)發(fā)手記——驅(qū)動(dòng)程序(1)一、CypressUSB驅(qū)動(dòng)程序的幾個(gè)版本截至目前,CY網(wǎng)站上至少公布了三個(gè)版本的驅(qū)動(dòng)程序,最后那個(gè)SuiteUSB也在更新,羅列幾個(gè)如下:早期EZUSB.SYS,這是給AN2131年代寫(xiě)的驅(qū)動(dòng)程序,90年代公布,目前CY網(wǎng)站上已經(jīng)刪除。后期CYUSB.SYS,這是給FX2和FX2LP寫(xiě)的驅(qū)動(dòng),是前者的升級(jí)版本。隨著《CY3684EZ-USBFX2LP開(kāi)發(fā)套件》一起發(fā)布。2009年開(kāi)始的SuiteUSB342,2011年的3.4.4,同時(shí)上述2項(xiàng)廢止。全稱(chēng)叫“SuiteUSB3.4-USBDevelopmenttoolsforVisualStudio”,最新3.4.4公布時(shí)間2011年01月12日。2和3可以統(tǒng)稱(chēng)為CYUSB,它和EZUSB的區(qū)別如下:EZUSB的VID,PID是04B4,1002,具體由ezusbw2k.inf指定。這就是所謂通用驅(qū)動(dòng)GPD(GeneralPurposeDrive),主機(jī)控制臺(tái)叫EZ-USBControlPane。主機(jī)采用WindowsAPI進(jìn)行開(kāi)發(fā),使用標(biāo)準(zhǔn)IOCTL函數(shù)。它由安裝CypressEZ-USBDevelopmentKit開(kāi)發(fā)包得到,版本號(hào)是261700。CYUSB的VID,PID是04B4,1004,具體由INF文件指定,對(duì)應(yīng)的驅(qū)動(dòng)應(yīng)該是cyusb.sys,cyusbpre.inf,控制臺(tái)使用CypressUSBConsole。主機(jī)使用CyAPI函數(shù),當(dāng)然IOCTL也可用(但與老版本有變化,見(jiàn)CYUSB.PDF)。它由安裝“CY3684EZ-USBFX2LP開(kāi)發(fā)套件”獲得。最近一次更新時(shí)間是2010年01月05日,它的軟件資料也指向了SuiteUSB,即下面第三條所列。CYUSB包含2個(gè)文件:cy3684_ez_usb_fx2lp_development_kit_15.exe,FX2和FX2LP開(kāi)發(fā)板、演示、驅(qū)動(dòng)等,缺省安裝在c:\Cypress\USB目錄下。cy3684_ez_usb_fx2lp_development_kit_17.zip,主要是GPIF工具、演示例程;缺省安裝在C:\ProgramFiles\Cypress\GPIFDesigner目錄下。SuiteUSB,上個(gè)版本是3.4.2,如今更新到3.4.4。它與CYUSB的差別在于,它支持.NET平臺(tái),可以使用C++、C#語(yǔ)言開(kāi)發(fā)上層應(yīng)用。硬件上支持64位操作系統(tǒng)。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會(huì)應(yīng)用越來(lái)越廣。如果使用VC6編程,只能選擇2;如果使用C++、C#則選擇3。我了解的信息是,2可以運(yùn)行在Windows2000,WindowsXP、WindowsVista32位、Windows732位操作系統(tǒng),但不能運(yùn)行于Vista64位、Windows764位版本。、CypressSuiteUSB3.4.4介紹cyusb.sys驅(qū)動(dòng)程序Cypress通用USB驅(qū)動(dòng)程序C#庫(kù):cyusb.dll用于與cyusb.sys,usbhid.sys,usbstore.sys驅(qū)動(dòng)程序通訊的類(lèi)庫(kù)C++庫(kù):cyapi.lib用于與cyusb.sys通訊的類(lèi)庫(kù)CyControlCenter,CvConsoleetc.C#與C++演示代碼可運(yùn)行與下列操作系統(tǒng)和平臺(tái):Windows2000(w2K)WindowsXP(wxp)WindowsVista(wlh)Windows7CPU類(lèi)型:x86(32bit-i386)x64(64bit-amd64)3.4.4包含了C#與C++的例子,即,二者都支持。這就打消了USB驅(qū)動(dòng)升級(jí)帶來(lái)的向下兼容的疑慮。我們可以放心地使用新的CYUSB.SYS,不管是C#開(kāi)發(fā)環(huán)境還是C++環(huán)境。三、CypressSuiteUSB3.4.4目錄結(jié)構(gòu)C:\Cypress\CypressSuiteUSB3.4.4目錄下共有5個(gè)子目錄,分別列出:1,C:\Cypress\CypressSuiteUSB3.4.4\Firmware目錄下有5個(gè)子目錄:子目錄名文件名內(nèi)容BinHex2bix.exeHex格式固件轉(zhuǎn)換成IIC格式
IncludeFx2.hfx2regs.hfx2regs.incfx2sdly.hsyncdly.h固件開(kāi)發(fā)時(shí)用到的include文件LibEZUSB.LIBUSBJmpTb.a51USBJmpTb.OBJ固件開(kāi)發(fā)時(shí)用到的庫(kù)函數(shù)Bulkloopbulkloop.c等批量傳輸?shù)睦覥yStreamerCyStreamer.c等Screamer、streamer一類(lèi)流式程序加載的固件這些固件與之前的CYUSB版本的固件(前文第2項(xiàng))并無(wú)太多差別。C:\Cypress\CypressSuiteUSB3.4.4\CyAPI Cypress開(kāi)發(fā)的USB支持函數(shù)使用基于.NET2.0DLL庫(kù),CyAPI,軟件開(kāi)發(fā)人員可以快速建立一個(gè)與CypressGPDcyusb.sys通訊的應(yīng)用。cyusb.sys是通用驅(qū)動(dòng)程序,經(jīng)Windowslogo確認(rèn)。最初是在Studio2005和.NET2.0/3.0平臺(tái)上開(kāi)發(fā)的。C:\Cypress\CypressSuiteUSB3.4.4\Firmware目錄下有5個(gè)子目錄和2個(gè)文件:子目錄名文件名內(nèi)容Examples'cybulk若干批量傳輸?shù)腃++示例Examples'cvdesc若干讀取設(shè)備描述符的C++示例Examples'FxEEPROM若干BC++示例Examples\Streamer若干測(cè)試端點(diǎn)吞吐量的C#示例,支持同步和批量傳輸IncCyAPI.hcyioctl.husblOO.husb200.h頭文件
Lib\BC6CyAPI.libBC++函數(shù)庫(kù)LIB\x64CyAPI.lib64位C函數(shù)庫(kù)Lib\x86CyAPI.lib32位C函數(shù)庫(kù)CyAPI.chmCyAPI文檔CvAPI.DdfCyAPI文檔CYPRESS68013A(FX2LP系列)開(kāi)發(fā)手記——驅(qū)動(dòng)程序(2)C:\Cypress\CypressSuiteUSB3.4.4\CyConsoleC:\Cypress\CypressSuiteUSB3.4.4\CyConsole目錄下有3個(gè)文件:子目錄名文件名內(nèi)容CyConsole.exe控制臺(tái)程序CvConsole.chm控制臺(tái)程序文檔CvConsole.pdf控制臺(tái)程序文檔C:\Cypress\CypressSuiteUSB3.4.4\CyUSB.NETC:\Cypress\CypressSuiteUSB3.4.4\CyUSB.NET目錄下有3個(gè)子目錄,4個(gè)文件:子目錄名文件名內(nèi)容BinBulkLoop.exeCyControl.exeCyUSB.dllScreamer.exe.NET平臺(tái)下的應(yīng)用程序LibCyUSB.dll支持文件Examples'BulkLoop若干C#編寫(xiě)的環(huán)路測(cè)試?yán)蘀xamples、ControlCenter若干C#編寫(xiě)的控制中心例程,可測(cè)試cyusb.sys、usbhid.sys、usbstore.sys支持的各種設(shè)備Examples'Screamer若干C#編寫(xiě)的同步傳輸例程
Examples、Template若干C#編寫(xiě)的用于顯示設(shè)備連接、驅(qū)動(dòng)程序連接的模板CyControlCenter.chmCvControlCenter.Ddf控制中心例程的文檔CyUSB.NET.chmCvUSB.NET.Ddf.NET類(lèi)庫(kù),CyUSB.dll的文檔C:\Cypress\CypressSuiteUSB3.4.4\Driver USB底層驅(qū)動(dòng),IOCTL支持C:\Cypress\CypressSuiteUSB3.4.4\Driver目錄下有2個(gè)子目錄,2個(gè)文件:子目錄名文件名內(nèi)容inccyioctl.hIOCTL支持的頭文件bin\w2k\x86cyusb.infcyusb.sysWindows200032bit平臺(tái)的安裝文件bin\wlh\x64cyusb.infcyusb.sysVista64bit平臺(tái)的安裝文件bin\wlh\x86cyusb.infcyusb.sysVista32bit平臺(tái)的安裝文件bin\wxp\x64cyusb.infcyusb.sysWindowsXP64bit平臺(tái)的安裝文件bin\wxp\x86cyusb.infcyusb.sysWindowsXP32bit平臺(tái)的安裝文件CyUSB.chmCyUSB.pdfIOCTL支持文檔,INF文件制作過(guò)程需要說(shuō)明的是,類(lèi)庫(kù)CyAPI.lib和Cyusb.dll是高級(jí)接口,而CYUSB.SYS是低級(jí)接口。我們可以使用IOCTL操作設(shè)備(如同EZ-USB,前文第一項(xiàng),但與早期的定義差別很大),也可以使用類(lèi)庫(kù)。四、硬件、固件的相關(guān)文章AN14557——講述了開(kāi)發(fā)USB應(yīng)用的變遷,從EZUSB的對(duì)設(shè)備句柄進(jìn)行10操作,到后來(lái)的靜態(tài)鏈接庫(kù)方式的CYAPI(它只能操作使用cyusb.sys的設(shè)備),到目前的SuiteUSB.net2.0(它可以操作cyusb.sys,usbstor.sys、usbhid.sys上的設(shè)備)。文章講述了使用VisualStudio2005建立新應(yīng)用的過(guò)程。AN15456——FX2LP硬件設(shè)計(jì)和調(diào)試指南。講述了最小系統(tǒng)的構(gòu)成,如果出現(xiàn)問(wèn)題根據(jù)CLKOUT管腳的四種情況查找故障原因。重點(diǎn)講述了驅(qū)動(dòng)程序的故障排除。AN50963——在使用小容量EEPROM的前提下,如何建立一個(gè)固件,可以自動(dòng)下載到FX2LP中。AN45197——Hex2Bix轉(zhuǎn)換程序的用法。講述了將.Hex格式轉(zhuǎn)換成BIX(rawbinary)、A51、IIC格式的操作方法。AN45471——制造商命令設(shè)計(jì)指南。AN61244——固件的優(yōu)化。AN58790——#編寫(xiě)的Bulk傳輸?shù)闹鳈C(jī)應(yīng)用。AN1196——FX2PCB設(shè)計(jì)建議。講述了電路板分層、鋪地、眼圖等一系列內(nèi)容AN1200——串口波特率發(fā)生器,軟件等。針對(duì)全速設(shè)備。AN1193——EZ-USB定時(shí)器中斷的用法。AN58985——使用VC++2008進(jìn)行固件下載。如何解析一個(gè)HEX文件,并使用CYAPI.LIB將其下載到器件的RAM中。AN4053——通過(guò)同步傳輸或者批量傳輸端點(diǎn)的流應(yīng)用。AN1036——電磁噪聲環(huán)境下的USB錯(cuò)誤處理。High-speedUSBPCBLayoutRecommendations PCB布線建議。AN13632——測(cè)試USB信號(hào)質(zhì)量。USBComplianeeTestingOverview USB符合(Windowslogo)測(cè)試概述。AN52970——WHQL數(shù)字簽名的過(guò)程。USBDriverUpdate.pdf 把系統(tǒng)較早時(shí)間的cyusb.sys升級(jí)到新版。AN61465——詳細(xì)講解了使用CYUSB.SYS制作INF文件的過(guò)程(針對(duì)新版SuiteUSB)。五、INF文件的構(gòu)建1,AN61465詳細(xì)介紹了INF文件的結(jié)構(gòu)。2,C2啟動(dòng)模式下的INF文件3,CO啟動(dòng)模式下加載SPT文件的INF文件CY7C68013A_Slavefifo固件心得cy7c68013-56在使用Slavefifo進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,EP2,EP4作為OUT端點(diǎn),EP6,EP8作為IN端點(diǎn)。所以這些寄存器一定要搞懂:PINFLAGSAB,PINFLAGSCD.我們一般要用到FLAGA,FLAGB,FLAGC,FLAGD幾個(gè)引腳,用于得到端點(diǎn)的狀態(tài),PINFLAGSAB,PINFLAGSCD是一組寄存器,用于設(shè)置這四個(gè)引腳的功能。PINFLAGSAB為例:PINFLAGSAB=0xe8;//FLAGA-fixedEP2E£FLAGB-fixedEP6FFSYNCDELAY;//FLAGA引腳,EP2空時(shí)為0,非空為1,FLAGB引腳,EP6滿為0,非滿為1PINFLAGSCD=0xac;//FLAGC-fixedEP2FF,FLAGD-fixedEP6EFSYNCDELAY;//FLAGC引腳,EP2滿時(shí)為0,非空為1,FLAGD引腳,EP6空為0,非滿為1FIFORESET是用于FIFO狀態(tài)復(fù)位的。這個(gè)用下面這段就0K了。FIFORESET=0x80;//activateNAK-ALLtoavoidraceconditionsSYNC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙十一設(shè)計(jì)引領(lǐng)消費(fèi)
- 2024年遠(yuǎn)程教育講師合同模板
- 外墻燈安裝合同(2篇)
- 大宗商品資產(chǎn)管理合同
- 2024年裝飾裝修工程監(jiān)理合同3篇
- 2024版?zhèn)}單質(zhì)權(quán)貸款合同3篇
- 凈水器租賃合同書(shū)
- 民間房屋買(mǎi)賣(mài)合同
- 15 女?huà)z補(bǔ)天 說(shuō)課稿 -2024-2025學(xué)年語(yǔ)文四年級(jí)上冊(cè)統(tǒng)編版
- 2025年度人工智能技術(shù)研發(fā)合同范本6篇
- 六年級(jí)語(yǔ)文-文言文閱讀訓(xùn)練題50篇-含答案
- 《潔凈工程項(xiàng)目定額》(征求意見(jiàn)稿)
- 城鎮(zhèn)燃?xì)庠O(shè)計(jì)規(guī)范
- 年零售藥店操作規(guī)程版
- 口袋妖怪白金光圖文攻略2周目
- 搞笑個(gè)性YY娛樂(lè)頻道分組設(shè)計(jì)圖
- 靜力觸探技術(shù)標(biāo)準(zhǔn)
- 鋼結(jié)構(gòu)、膜結(jié)構(gòu)安全技術(shù)交底
- 材料、設(shè)備進(jìn)場(chǎng)驗(yàn)收流程圖
- 兒童幼兒教育教學(xué)培訓(xùn)卡通ppt課件
- 單肺通氣技術(shù)
評(píng)論
0/150
提交評(píng)論