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