0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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的设计,主需要使用状态机进行FIFO的读写控制即可,同时该芯片还具有ARM核+I2S、I2C、SPI、UART接口,大大增加了该芯片的使用范围。

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

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

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

安装过程出现上图中的界面,默认配置即可。点击【Next】。

接下来连续四次接受(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 的缩写,中文意思就是“软件开发工具包”。

这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“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

    文章

    21735

    浏览量

    603154
  • usb
    usb
    +关注

    关注

    60

    文章

    7943

    浏览量

    264560
  • API
    API
    +关注

    关注

    2

    文章

    1499

    浏览量

    61988
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1036

    浏览量

    45919

原文标题:FPGA和USB3.0通信-SDK的安装

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    USB3.0 工业相机的传输速率是否受到电脑主板某些硬件的限制?

    设置为500FPS,对应2ms采集一张照片。 ② 电脑为具有4个USB3.0接口的电脑(台式机或者笔记本),目前的测试机为联想拯救者(Ryzen5800H,16GB内存,512GB PCI-E 3.0
    发表于 12-08 21:20

    请问ISO7760能应用在USB3.0数据上隔离吗?

    请问ISO7760能应用在USB3.0数据上隔离吗? USB3.0的最大传输带宽高达5.0Gbps而ISO7760手册上显示是100Mbps数据速率两者的bps单位一样,疑惑的是传输带宽和传输速率! 请问有那位朋友将ISO7760应用再
    发表于 12-04 08:01

    USB3.0 /TYPE-C接口静电保护六路器件

    USB3.0 /TYPE-C接口静电保护六路器件
    的头像 发表于 11-01 08:02 184次阅读
    <b class='flag-5'>USB3.0</b> /TYPE-C接口静电保护六路器件

    USB3.0的识别问题

    做了一个USB3.0集线器,现在遇到这个问题,USB3.0无法识别,插拔几次后可以识别,接上其他设备也能正常工作,求高手帮忙啊,怎么处理USB3.0识别问题
    发表于 10-29 11:36

    晶沛电子USB3.0信号集成滑环及新型号产品

    晶沛电子在USB3.0信号滑环领域拥有十多年的研制历史。
    的头像 发表于 10-23 15:05 192次阅读
    晶沛电子<b class='flag-5'>USB3.0</b>信号集成滑环及新型号产品

    CYUSB3014是否会自动调整工作模式USB3.0还是USB2.0?

    CYUSB3014是否会自动调整工作模式USB3.0还是USB2.0?它的工作模式是否可以或怎么通过FLAG传输给FPGA?
    发表于 08-14 08:00

    CYUSB3014在统UOS系统下通信异常的原因?

    目前我有一台设备,FPGA+Cyusb3014实现了USB通信,主要是传输图片,在Windows下USB2.0以及USB3.0都正常。 Wi
    发表于 07-24 08:28

    CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?

    你好,我自己做的板子,用标准的USB3.0的线连接USB3.0 TYPE-B口可以正常使用。但是我用USB3.0的线,焊接到USB3.0 TYPE-B口的焊接触点就无法使用。在flas
    发表于 05-31 06:45

    USB2.0型号模拟转换USB3.0输出

    通过模拟信号转换,将原本输入进来的USB2.0变成USB3.0,使其插到USB3.0的HUB上不会出现2.0降速的问题
    发表于 05-14 08:47

    usb3.0和2.0的!!!

    USB 3.0USB 2.0是USB接口的不同版本,它们之间有以下主要区别: 1. **传输速度**:USB
    的头像 发表于 04-07 00:23 711次阅读

    CYUSB3014 USB3.0 2.0的信号是否有在芯片内部上拉?

    CYUSB3014的USB 3.0和2.0 的这几组信号是否有在芯片内部上拉,因为根据规范,3014作为device应该有1个上拉电平,但是在参考设计上没有做上拉? 2、如果要测试USB
    发表于 02-29 07:30

    基于CYUSB3014做了一块USB3.0的开发板,怎么样能让FX3被识别出USB3.0呢?

    运行,但是不能使用USB3.0功能了。请问我应该怎么样能让FX3被识别出USB3.0呢?谢谢!麻烦了。​
    发表于 02-28 08:14

    使用CYUSB3014作为USB3.0数据传输,USB3.0无法识别的原因?

    也无法读取到端口。 此时在保持上电状态下重新插拔USB3.0线缆,Windows设备管理器会弹出未识别的USB设备,如下图 请问这种问题属于硬件故障还是固件故障,该如何排查解决。
    发表于 02-23 06:12

    PCIe-6328 八口USB3.0图像采集卡:专为工业自动化和机器视觉设计

    PCIe-6328一块8口USB3.0主控卡,专为工业自动化和机器视觉相关应用设计。USB3.0或称作高速USB,是一项新兴总线技术,10倍于USB2.0的传输速度,尤其适用于高速数据
    的头像 发表于 01-22 17:05 805次阅读
    PCIe-6328 八口<b class='flag-5'>USB3.0</b>图像采集卡:专为工业自动化和机器视觉设计

    USB3.0高速接口布局指南

    电子发烧友网站提供《USB3.0高速接口布局指南.pdf》资料免费下载
    发表于 01-02 10:21 7次下载