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