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

    关注

    1664

    文章

    22571

    浏览量

    640758
  • usb
    usb
    +关注

    关注

    60

    文章

    8487

    浏览量

    286634
  • API
    API
    +关注

    关注

    2

    文章

    2506

    浏览量

    67135
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1113

    浏览量

    52172

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B USB3.0 Host电路

    1.USB3.0Host电路RV1126B一共两组USB2.0信号和一组USB3.0信号,其中的组合关系可见图9。目前开发板采用的是Case3的方案,USB2.0DRD作为固件下载接口
    的头像 发表于 05-19 14:19 103次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>USB3.0</b> Host电路

    Linux系统下配置FCB-EV9520L与LVDS转USB3.0编码采集模块教程

    在Linux系统上运行LVDS转USB3.0编码采集模块涉及几个关键步骤,包括Linux环境配置、硬件连接、软件安装与配置以及测试。以下是一个基本的指南
    的头像 发表于 03-04 16:05 307次阅读
    Linux系统下配置FCB-EV9520L与LVDS转<b class='flag-5'>USB3.0</b>编码采集模块教程

    USB3.0接口转换高性能图像传感和数据采集方案

    接口的普及与其强大的供电能力(PD),USB3.0接口转换方案能够同时实现高速通信与大功率传输,为各类高性能图像传感与数据采集应用提供了坚实可靠的连接基础。
    的头像 发表于 01-06 14:45 609次阅读
    <b class='flag-5'>USB3.0</b>接口转换高性能图像传感和数据采集方案

    PL27A1 超高速USB3.0主机到主机桥接控制器技术手册

    2.0(480Mbps)提升10倍。该技术向下兼容,可与所有USB3.0/ USB2.0/USB1. 1主机、设备及集线器无缝对接。
    发表于 12-27 13:48 2次下载

    USB3.0对拷线方案,双机跨屏共享文件和数据的USB对连芯片PL27A1方案

    高达5Gbps,性能比高速USB 2.0(480Mbps)提高了10倍。超高速 USB向下兼容,可与所有USB3.0/USB2.0/USB1
    发表于 12-16 16:02

    USB3.0数据对拷线方案|台湾旺久数据对拷线芯片PL27A1

    台湾旺久PL27a1是一款超高速USB 3.0主机到主机桥接控制器芯片,主要用于设计USB3.0数据对拷方案的设计开发,来实现两台电脑之间数据之前的对拷,可以随意编辑文件、拖拽文件且共享一套鼠键设备,还可以定制画中画等功能。
    的头像 发表于 11-12 17:09 1706次阅读
    <b class='flag-5'>USB3.0</b>数据对拷线方案|台湾旺久数据对拷线芯片PL27A1

    旺玖PL27A1高速USB3.0对拷线方案,主机到主机数据传输

    2.0(480Mbps)提升10倍。该技术向下兼容,可与所有USB3.0/ USB2.0/USB1. 1主机、设备及集线器无缝对接
    的头像 发表于 11-09 16:59 2003次阅读
    旺玖PL27A1高速<b class='flag-5'>USB3.0</b>对拷线方案,主机到主机数据传输

    PL27A1超高速USB3.0数据对拷线芯片资料

    电子发烧友网站提供《PL27A1超高速USB3.0数据对拷线芯片资料.pdf》资料免费下载
    发表于 10-16 16:49 1次下载

    USB3.0 电路板布局指南

    该文章介绍USB3.0的布局布线要求及走线规范
    发表于 08-19 16:50 2次下载

    基于FPGAUSB3.0通信的UVC摄像机设计方案

    本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信
    的头像 发表于 07-21 16:20 7556次阅读
    基于<b class='flag-5'>FPGA</b>和<b class='flag-5'>USB3.0</b><b class='flag-5'>通信</b>的UVC摄像机设计方案

    LVDS转USB3.0视频采集模块编码控制板

    USB3.0视频采集模块通过LVDS接口连接机芯,自动识别机芯高清视频格式。支持720P,1080I,1080P各种帧率,让SONY FCB一体化摄像机芯所拍摄图像即刻显示在电脑屏幕中。
    的头像 发表于 07-09 10:22 1089次阅读
    LVDS转<b class='flag-5'>USB3.0</b>视频采集模块编码控制板

    电流功率检测USB3.0HUB,USB3.0扩展坞,可扩展的USB2.0

    “Power HUB V1.0”,1转7路USB3.0 HUB,电流功率可视化!USB2.0和3.0分工! 演示视频: https://www.bilibili.com/video
    发表于 06-28 00:23

    索尼FCB-EV9520L快速输出视频到电脑方案:USB3.0视频采集板

    索尼FCB-EV9520L搭配USB3.0视频采集模块,以其卓越的性能、便捷的操作和广泛的应用,成为了各行业视频传输的理想选择。它不仅为用户提供了高效、稳定、高质量的视频传输解决方案,还为各行业
    的头像 发表于 06-23 13:52 867次阅读
    索尼FCB-EV9520L快速输出视频到电脑方案:<b class='flag-5'>USB3.0</b>视频采集板

    使用CYUSB3014作为USB3.0数据传输方案,USB3.0无法识别是什么原因?

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

    抖胆DD3118高性价比USB3.0读卡器芯片方案-替代创惟GL3213S

    、封装信息及订购信息。 适合人群:硬件工程师、电子设计师以及对USB3.0读卡器控制芯片有兴趣的技术人员。 DD3118芯片框架: DD3118芯片管脚分布及定义说明: 使用场景及目标:① 设计和开发
    发表于 05-27 17:28