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
    +关注

    关注

    1602

    文章

    21317

    浏览量

    593151
  • usb
    usb
    +关注

    关注

    59

    文章

    7425

    浏览量

    258072
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60989
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44685

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

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

收藏 人收藏

    评论

    相关推荐

    基于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

    USB3.0高速接口布局指南

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

    USB3.0如何辨别

    通信的状态变为全双工(USB3.0)的高效通信方式。 虽然说是USB3.0,但是USB3.0接口定义时是做到了
    的头像 发表于 11-07 11:01 766次阅读
    <b class='flag-5'>USB3.0</b>如何辨别

    什么是USB3.0usb3.0usb2.0有什么区别?

    什么是USB3.0usb3.0usb2.0有什么区别 USB3.0是指“超级速度USB”,它是一种高速数据传输技术,是
    的头像 发表于 10-27 14:31 4433次阅读

    USB3.0USB2.0工业连接器究竟有哪些区别?

    CNLINKO凌科电气连接器知识分享USB3.0USB2.0工业连接器是用于USB接口设备的两款常用连接器,是数据传输非常重要的手段。相信很多人对这两种连接器的区别都有所知晓,但不一定全面。今天
    的头像 发表于 10-21 08:14 539次阅读
    <b class='flag-5'>USB3.0</b>和<b class='flag-5'>USB</b>2.0工业连接器究竟有哪些区别?

    绿联三口 USB3.0 HUB接口拆解

    可以看到USB HUB用的GL5320,是一个常见的4口方案,USB3.0转以太网用掉一个,所以只有3个USB口给用户。 USB 3.0
    发表于 10-09 09:23 615次阅读
    绿联三口 <b class='flag-5'>USB3.0</b> HUB接口拆解

    面向USB3.0的新型ESD防护设计

    电子发烧友网站提供《面向USB3.0的新型ESD防护设计.pdf》资料免费下载
    发表于 10-08 14:31 1次下载
    面向<b class='flag-5'>USB3.0</b>的新型ESD防护设计

    USB3.0一致性测试那点事

    USB3.0又称为SuperSpeed USB,比特率高达5Gbps,相比目前USB2.0的480Mbps的速率,提高了10倍以上。
    发表于 10-02 16:06 1008次阅读
    <b class='flag-5'>USB3.0</b>一致性<b class='flag-5'>测试</b>那点事

    基于FPGAUSB3.0回环传输测试方案

    本文开源一个FPGA项目: USB3.0 LoopBack 。基于FPGAUSB3.0通信方案有很多,其中非常好用的一款
    的头像 发表于 10-01 09:49 1745次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>USB3.0</b>回环传输<b class='flag-5'>测试</b>方案

    请教下,USB3.0的HUB接下行接4个USB2.0设备,上行是使用USB3.0通讯还是2.0?

    如题,USB3.0的HUB接下行接4个USB2.0设备,上行是使用USB3.0通讯还是2.0? 是这样,USB3.0的HUB,下行接了4个USB
    发表于 09-12 13:21

    USB3.0合规性研讨会中的CV和xHCI测试用户指南

    电子发烧友网站提供《USB3.0合规性研讨会中的CV和xHCI测试用户指南.pdf》资料免费下载
    发表于 07-25 18:27 0次下载
    <b class='flag-5'>USB3.0</b>合规性研讨会中的CV和xHCI<b class='flag-5'>测试</b>用户指南

    USB3.0投屏芯片MS9132介绍

    MS9132是一款USB3.0投屏芯片,内部集成USB3.0 Device控制器、数据收发模块、音视频处理模块。MS9132可以通过USB3.0接口将PC、智能手机、平板电脑上的信息显示或扩展到更大尺寸的显示设备,支持HD视频接
    的头像 发表于 06-26 17:05 1889次阅读
    <b class='flag-5'>USB3.0</b>投屏芯片MS9132介绍

    基于FPGAUSB3.0 HUB设计方案

    也需要相应地进行不断地更新和升级。USB3.0的理论速度达到了5Gbit/s,向需要更大电力支持的设备提供更好的支持和电力供应,它在USB2.0的基础上增加了新的电源管理功能,采用全双工数据通信,提供更快的传输速度,并且向下兼容
    的头像 发表于 06-09 16:50 1575次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>USB3.0</b> HUB设计方案

    USB3.0开发之bulkLoop上位机程序

    USB3.0开发之bulkLoop上位机程序 一、开发测试软件 硬件平台:Cypress公司的CYUSB3014 软件平台:Visual Studio 2017 + Qt5.12 实现应用程序产生
    发表于 05-29 15:16 14次下载
    <b class='flag-5'>USB3.0</b>开发之bulkLoop上位机程序