0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA和USB3.0通信-硬件測試之SDK的安裝

OpenFPGA ? 來源:OpenFPGA ? 作者: 碎碎思 ? 2021-11-18 14:20 ? 次閱讀

FPGAUSB3.0通信-硬件測試(一)SDK的安裝

ca6dacb8-4836-11ec-b939-dac502259ad0.png

本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下稱 FX3),該芯片是標準的USB3.0 PHY,可以大大簡化使用USB通信時FPGA的設(shè)計,主需要使用狀態(tài)機進行FIFO的讀寫控制即可,同時該芯片還具有ARM核+I2S、I2C、SPI、UART接口,大大增加了該芯片的使用范圍。

cae98f54-4836-11ec-b939-dac502259ad0.png

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】。

cda520f0-4836-11ec-b939-dac502259ad0.png

安裝過程出現(xiàn)上圖中的界面,默認配置即可。點擊【Next】。

接下來連續(xù)四次接受(I accept)就可以了(不接受就不讓你安裝了)。

ce192b58-4836-11ec-b939-dac502259ad0.png

ce7712ea-4836-11ec-b939-dac502259ad0.png

cf3df16c-4836-11ec-b939-dac502259ad0.png

安裝完成頁面,見到下圖就大功告成了。

d0eeea98-4836-11ec-b939-dac502259ad0.png

附錄 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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603419
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7945

    瀏覽量

    264682
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1501

    瀏覽量

    62025
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1036

    瀏覽量

    45950

原文標題:FPGA和USB3.0通信-SDK的安裝

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    USB3.0 工業(yè)相機的傳輸速率是否受到電腦主板某些硬件的限制?

    設(shè)置為500FPS,對應(yīng)2ms采集一張照片。 ② 電腦為具有4個USB3.0接口的電腦(臺式機或者筆記本),目前的測試機為聯(lián)想拯救者(Ryzen5800H,16GB內(nèi)存,512GB PCI-E 3.0
    發(fā)表于 12-08 21:20

    請問ISO7760能應(yīng)用在USB3.0數(shù)據(jù)上隔離嗎?

    請問ISO7760能應(yīng)用在USB3.0數(shù)據(jù)上隔離嗎? USB3.0的最大傳輸帶寬高達5.0Gbps而ISO7760手冊上顯示是100Mbps數(shù)據(jù)速率兩者的bps單位一樣,疑惑的是傳輸帶寬和傳輸速率! 請問有那位朋友將ISO7760應(yīng)用再
    發(fā)表于 12-04 08:01

    USB3.0 /TYPE-C接口靜電保護六路器件

    USB3.0 /TYPE-C接口靜電保護六路器件
    的頭像 發(fā)表于 11-01 08:02 ?199次閱讀
    <b class='flag-5'>USB3.0</b> /TYPE-C接口靜電保護六路器件

    USB3.0的識別問題

    做了一個USB3.0集線器,現(xiàn)在遇到這個問題,USB3.0無法識別,插拔幾次后可以識別,接上其他設(shè)備也能正常工作,求高手幫忙啊,怎么處理USB3.0識別問題
    發(fā)表于 10-29 11:36

    晶沛電子USB3.0信號集成滑環(huán)及新型號產(chǎn)品

    晶沛電子在USB3.0信號滑環(huán)領(lǐng)域擁有十多年的研制歷史。
    的頭像 發(fā)表于 10-23 15:05 ?201次閱讀
    晶沛電子<b class='flag-5'>USB3.0</b>信號集成滑環(huán)及新型號產(chǎn)品

    CYUSB3014是否會自動調(diào)整工作模式USB3.0還是USB2.0?

    CYUSB3014是否會自動調(diào)整工作模式USB3.0還是USB2.0?它的工作模式是否可以或怎么通過FLAG傳輸給FPGA?
    發(fā)表于 08-14 08:00

    CYUSB3014在統(tǒng)UOS系統(tǒng)下通信異常的原因?

    目前我有一臺設(shè)備,FPGA+Cyusb3014實現(xiàn)了USB通信,主要是傳輸圖片,在Windows下USB2.0以及USB3.0都正常。 Wi
    發(fā)表于 07-24 08:28

    CYUSB3065焊接到USB3.0 TYPE-B口的焊接觸點就無法使用是什么原因?qū)е碌模?/a>

    你好,我自己做的板子,用標準的USB3.0的線連接USB3.0 TYPE-B口可以正常使用。但是我用USB3.0的線,焊接到USB3.0 TYPE-B口的焊接觸點就無法使用。在flas
    發(fā)表于 05-31 06:45

    USB2.0型號模擬轉(zhuǎn)換USB3.0輸出

    通過模擬信號轉(zhuǎn)換,將原本輸入進來的USB2.0變成USB3.0,使其插到USB3.0的HUB上不會出現(xiàn)2.0降速的問題
    發(fā)表于 05-14 08:47

    usb3.0和2.0的?。?!

    USB 3.0USB 2.0是USB接口的不同版本,它們之間有以下主要區(qū)別: 1. **傳輸速度**:USB
    的頭像 發(fā)表于 04-07 00:23 ?718次閱讀

    CYUSB3014 USB3.0 2.0的信號是否有在芯片內(nèi)部上拉?

    CYUSB3014的USB 3.0和2.0 的這幾組信號是否有在芯片內(nèi)部上拉,因為根據(jù)規(guī)范,3014作為device應(yīng)該有1個上拉電平,但是在參考設(shè)計上沒有做上拉? 2、如果要測試USB
    發(fā)表于 02-29 07:30

    基于CYUSB3014做了一塊USB3.0的開發(fā)板,怎么樣能讓FX3被識別出USB3.0呢?

    運行,但是不能使用USB3.0功能了。請問我應(yīng)該怎么樣能讓FX3被識別出USB3.0呢?謝謝!麻煩了。?
    發(fā)表于 02-28 08:14

    使用CYUSB3014作為USB3.0數(shù)據(jù)傳輸,USB3.0無法識別的原因?

    也無法讀取到端口。 此時在保持上電狀態(tài)下重新插拔USB3.0線纜,Windows設(shè)備管理器會彈出未識別的USB設(shè)備,如下圖 請問這種問題屬于硬件故障還是固件故障,該如何排查解決。
    發(fā)表于 02-23 06:12

    PCIe-6328 八口USB3.0圖像采集卡:專為工業(yè)自動化和機器視覺設(shè)計

    PCIe-6328一塊8口USB3.0主控卡,專為工業(yè)自動化和機器視覺相關(guān)應(yīng)用設(shè)計。USB3.0或稱作高速USB,是一項新興總線技術(shù),10倍于USB2.0的傳輸速度,尤其適用于高速數(shù)據(jù)
    的頭像 發(fā)表于 01-22 17:05 ?815次閱讀
    PCIe-6328 八口<b class='flag-5'>USB3.0</b>圖像采集卡:專為工業(yè)自動化和機器視覺設(shè)計

    USB3.0高速接口布局指南

    電子發(fā)燒友網(wǎng)站提供《USB3.0高速接口布局指南.pdf》資料免費下載
    發(fā)表于 01-02 10:21 ?7次下載