FPGA和USB3.0通信-硬件測(cè)試(一)SDK的安裝
本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下稱 FX3),該芯片是標(biāo)準(zhǔn)的USB3.0 PHY,可以大大簡(jiǎn)化使用USB通信時(shí)FPGA的設(shè)計(jì),主需要使用狀態(tài)機(jī)進(jìn)行FIFO的讀寫控制即可,同時(shí)該芯片還具有ARM核+I2S、I2C、SPI、UART等接口,大大增加了該芯片的使用范圍。
SDK的安裝這里先簡(jiǎn)單介紹一下SDK,我們經(jīng)常能看到SDK這個(gè)名詞,很多人認(rèn)為這就是一個(gè)軟件的代名詞,但是具體的意義你理解嗎?
SDK(Soft Development Kit)-軟件開發(fā)工具包。
這里只說我的理解,首先SDK是一個(gè)很寬泛的定義,在每個(gè)領(lǐng)域都不一樣,像在“純“軟件領(lǐng)域:這個(gè)定義需要結(jié)合API去理解(詳細(xì)定義見附錄);而我們使用的多是嵌入式領(lǐng)域,這種SDK多是一些芯片廠商提供,里面包含了常規(guī)、自己適配的驅(qū)動(dòng)程序的軟件開發(fā)包(即SDK)。所以現(xiàn)今階段一個(gè)芯片的好用與不好用,硬實(shí)力是一方面,軟實(shí)力也是很重要的一方面。
而FX3的軟件(固件)開發(fā)包就是CYPRESS提供的SDK,里面包含了底層相關(guān)驅(qū)動(dòng),上層的DEMO等等有利于開發(fā)者快速開發(fā)的軟件集合。(試想一下,如果沒有SDK,廠家會(huì)提供給你寄存器手冊(cè),你需要怎么開發(fā)FX3,開發(fā)周期如何?)
下面開始我們的正題:
1、下載FX3 SDK可以直接通過CYPRESS官網(wǎng)網(wǎng)址,找到相關(guān)軟件和說明文檔:
?
https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit
?PS:下載需要注冊(cè),登錄。
百度云鏈接(1.3.3版本,驗(yàn)證無問題):
鏈接:https://pan.baidu.com/s/1Dt87bA8Snlcxy4AsYxB5ZQ
提取碼:open
2、安裝雙擊下載下來的《FX3DVKSetup_revXX.exe》,進(jìn)入安裝界面。
建議使用默認(rèn)C盤安裝目錄,不要修改。點(diǎn)擊【Next】。
安裝過程出現(xiàn)上圖中的界面,默認(rèn)配置即可。點(diǎn)擊【Next】。
接下來連續(xù)四次接受(I accept)就可以了(不接受就不讓你安裝了)。
安裝完成頁(yè)面,見到下圖就大功告成了。
附錄 SDK是什么
其實(shí)很簡(jiǎn)單,SDK 就是 Software Development Kit 的縮寫,中文意思就是“軟件開發(fā)工具包”。
這是一個(gè)覆蓋面相當(dāng)廣泛的名詞,可以這么說:輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做“SDK”。
軟件開發(fā)工具包 (SDK) 是由硬件和軟件供應(yīng)商提供的一組軟件工具和程序,開發(fā)人員可以使用它們?yōu)樘囟ㄆ脚_(tái)構(gòu)建應(yīng)用程序。這些供應(yīng)商提供他們的 SDK,以幫助開發(fā)人員輕松地將他們的應(yīng)用程序與他們的服務(wù)集成。
為了使用 SDK,開發(fā)人員需要一個(gè)用于構(gòu)建 iOS 應(yīng)用程序的iOS SDK、用于構(gòu)建 Android 應(yīng)用程序的Android工具包、用于構(gòu)建藍(lán)牙或無線應(yīng)用程序的 Nordic SDK 以及用于與 VMware 平臺(tái)集成的VMware SDK。
盡管 SDK 主要與原生移動(dòng)應(yīng)用程序相關(guān)聯(lián),但開發(fā)人員可以將它們與網(wǎng)站、機(jī)頂盒和其他數(shù)字平臺(tái)結(jié)合使用。
SDK 包括文檔、應(yīng)用程序編程接口 ( API )、代碼示例、庫(kù)和流程,以及開發(fā)人員可以使用并集成到他們的應(yīng)用程序中的指南。開發(fā)人員可以使用 SDK 來構(gòu)建和維護(hù)應(yīng)用程序,而無需從頭開始編寫所有內(nèi)容。
更具體地說,SDK 包括:
庫(kù)或 API - 預(yù)定義的代碼片段,可讓開發(fā)人員在平臺(tái)上執(zhí)行常見的編程任務(wù)。
集成開發(fā)環(huán)境 ( IDE ) – 一種可視化編輯器,可幫助開發(fā)人員設(shè)計(jì)和布局圖形元素,例如文本框和按鈕。這些在移動(dòng)軟件開發(fā)工具包中很常見。例如,Apple 的 IDE Xcode 包含一套軟件開發(fā)工具,可幫助開發(fā)人員為 macOS、iOS、iPadOS、watchOS 和 tvOS 構(gòu)建軟件。Android 有許多 IDE 選項(xiàng)。
幫助開發(fā)人員完成調(diào)試、構(gòu)建、運(yùn)行和測(cè)試應(yīng)用程序等任務(wù)的工具。
SDK 使開發(fā)人員能夠通過更多功能增強(qiáng)應(yīng)用程序,并讓它們包含推送通知、廣告等。SDK 還可以幫助開發(fā)人員更有效地創(chuàng)建新工具并簡(jiǎn)化流程,因?yàn)橐磺卸际穷A(yù)先構(gòu)建的。
例如,如果開發(fā)人員想將其應(yīng)用程序中的圖像或文本直接分享到 Facebook,他或她可以查找 Facebook 的 Android SDK 以找到適用于 Android 設(shè)備的必要代碼。這加快了部署速度,因?yàn)殚_發(fā)人員不必從頭開始編寫代碼。
「為什么要使用 SDK」
軟件開發(fā)工具包允許開發(fā)人員為其應(yīng)用程序添加功能,并使他們能夠更輕松、更快速地構(gòu)建應(yīng)用程序的標(biāo)準(zhǔn)組件。SDK 通常是一體化產(chǎn)品,不需要與其他組件集成,這會(huì)減慢開發(fā)過程。
通常,開發(fā)人員使用 SDK 來實(shí)現(xiàn)簡(jiǎn)單的功能,例如登錄、位置服務(wù)和移動(dòng)支付。但是,也有一些 SDK 可以幫助開發(fā)人員構(gòu)建更復(fù)雜的應(yīng)用程序功能,例如增強(qiáng)現(xiàn)實(shí) ( AR ) 和虛擬現(xiàn)實(shí) (VR)。SDK 通過簡(jiǎn)化標(biāo)準(zhǔn)流程來減少?gòu)?fù)雜的集成,例如使用本地語(yǔ)言或平臺(tái)創(chuàng)建授權(quán)簽名或解釋 SMS 消息。
「SDK 和 API 的區(qū)別」
API 是使兩個(gè)軟件程序能夠相互通信的代碼。API 定義了開發(fā)人員從操作系統(tǒng)或其他應(yīng)用程序請(qǐng)求服務(wù)并在不同上下文中跨多個(gè)渠道公開數(shù)據(jù)的正確方式。
當(dāng)開發(fā)人員使用 SDK 開發(fā)應(yīng)用程序和創(chuàng)建系統(tǒng)時(shí),這些應(yīng)用程序必須與其他應(yīng)用程序通信。SDK 包含一個(gè) API 來啟用該通信。
其他差異包括:
SDK 通常包含 API,但 API 不包含 SDK。
盡管 API 可用于通信,但不能用于創(chuàng)建新應(yīng)用程序。
SDK 允許開發(fā)人員創(chuàng)建應(yīng)用程序并充當(dāng)軟件產(chǎn)品的構(gòu)建塊。
API 允許應(yīng)用程序在與其捆綁的 SDK 參數(shù)范圍內(nèi)運(yùn)行。API 是實(shí)現(xiàn)兩個(gè)獨(dú)立應(yīng)用程序之間明確定義的通信的代碼。
SDK 是為特定目的而創(chuàng)建的工具和代碼組件,而 API 只是服務(wù)的接口。
「開發(fā) Windows 平臺(tái)下的應(yīng)用程序所使用的 SDK」
上面只是一個(gè)總體概念,下面以一個(gè)Windows下的SDK舉例。
“API”,也就是 Application Programming Interface,實(shí)際上,它是操作系統(tǒng)留給應(yīng)用程序的調(diào)用接口。應(yīng)用程序通過調(diào)用操作系統(tǒng)的API使操作系統(tǒng)執(zhí)行應(yīng)用程序的命令(操作)。在windows中,系統(tǒng)API以函數(shù)調(diào)用的形式提供。獲取操作系統(tǒng)的版本號(hào)也是一樣的,在windows中,只需調(diào)用getversionex()函數(shù)。
要說明白這個(gè)問題就不得不引入我們下面要介紹得這個(gè)概念——DLL。
DLL,即 Dynamic Link Library(動(dòng)態(tài)鏈接庫(kù))。我們經(jīng)??吹揭恍?DLL文件。這些文件是動(dòng)態(tài)鏈接庫(kù)文件。事實(shí)上,它們也是一種可執(zhí)行文件格式。不像Exe文件,.DLL文件不能直接執(zhí)行。它們通常是由用戶輸入的.Exe時(shí)執(zhí)行,并包含一些資源和可執(zhí)行代碼。實(shí)際上,windows的三個(gè)模塊是以DLL(kernel32.DLL、user32.DLL和gdi32.DLL)的形式提供的,其中包含API函數(shù)的執(zhí)行代碼。為了在DLL中使用API函數(shù),我們必須有API函數(shù)聲明(.H)及其導(dǎo)入庫(kù)(.LIB)。
因此,為了使用API函數(shù),我們需要有.H和與API相對(duì)應(yīng)的Lib文件,SDK提供了一整套用于開發(fā)Windows應(yīng)用程序的相關(guān)文件、示例和工具。到目前為止,我們已經(jīng)真正解釋了SDK的含義。
游戲中就有很多sdk工具包,可以開發(fā)mod。
以上部分內(nèi)容參考鏈接(重新整理):
1、https://whatis.techtarget.com/definition/software-developers-kit-SDK
2、https://www.zhihu.com/question/21691705
3、https://www.ibm.com/cloud/blog/sdk-vs-api
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601238 -
usb
+關(guān)注
關(guān)注
60文章
7876瀏覽量
263697 -
API
+關(guān)注
關(guān)注
2文章
1472瀏覽量
61749 -
SDK
+關(guān)注
關(guān)注
3文章
1020瀏覽量
45694
原文標(biāo)題:FPGA和USB3.0通信-SDK的安裝
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論