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

    关注

    1655

    文章

    22287

    浏览量

    630308
  • usb
    usb
    +关注

    关注

    60

    文章

    8372

    浏览量

    281711
  • API
    API
    +关注

    关注

    2

    文章

    2152

    浏览量

    66241
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1093

    浏览量

    51201

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    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 6156次阅读
    基于<b class='flag-5'>FPGA</b>和<b class='flag-5'>USB3.0</b><b class='flag-5'>通信</b>的UVC摄像机设计方案

    电流功率检测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

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

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

    如何用QT开发一个USB3.0上位机?

    如何用QT开发一个USB3.0上位机
    发表于 05-21 06:54

    PC电脑USB3.0接口无法识别CX3设备分辨率怎么解决?

    我正在使用CX3065来捕获图像,我发现有些USB3.0接口无法找到分辨率,现在我尝试了几台笔记本电脑,我发现USB3.0接口提供关机充电,它可以识别CX3设备分辨率。 我保存了是或否的USB接口图片。 我猜想改变 CX3 防火
    发表于 05-15 08:26

    调试CX3 USB3.0兼容USB2.0出图的问题求解

    调试CX3 USB3.0兼容USB2.0出图的问题,我们在调试一款sensor,需要输出全分辨率1124x1364,USB3.0调试可以出图,但是在调试USB2.0时,无法调试出图,在
    发表于 05-15 08:18

    在automaster和autoslave项目中如何配置参数来满足usb3.0usb2.0的数据传输?

    在automaster和autoslave项目中如何配置参数,来满足usb3.0usb2.0的数据传输,因为一边检测到是usb3.0, 一边是usb2.0。
    发表于 05-09 06:26

    是否可以与USB2.0集线器 (CYUSB2302) 共享USB2通道SS线路直接到USB3.0端口?

    我们的SoM iMX8提供一个USB3.0 接口。 但在我们的应用中我们需要一个完整的USB3.0 端口以及USB2.0端口。 在路由 USB3.0 的同时,是否可以与
    发表于 05-08 07:38

    CYUSB3014无法识别为USB3.0设备怎么解决?

    我开发了一款CYUSB3014硬件,但是我在烧录了syncfifo示例代码后,板卡只能被识别为USB2.0设备。我确认我的线材是支持USB3.0的,并且我检查了19.2Mhz的晶振工作正常
    发表于 04-30 07:24

    CH634USB3.0HUB控制芯片USB3.0国产控制芯片

    CH634是南京沁恒微电子股份有限公司推出的一款高性能、工业级4端口USB3.0 HUB控制器芯片,该芯片全面符合USB3.2 Gen1协议规范,集成了四口USB HUB和USB PD
    的头像 发表于 02-07 16:07 4113次阅读
    CH634<b class='flag-5'>USB3.0</b>HUB控制芯片<b class='flag-5'>USB3.0</b>国产控制芯片

    基于FT600Q芯片 的USB3.0设计,为什么连接PC后设备无法识别?

    一个基于FT600Q芯片 的USB3.0设计,进行高速传输,使用的是Micro usb3.0的接口,但是连接PC端口,显示无法识别该设备,请教各位大佬,这种情况是接口的设计有问题吗?下面是我的原理图。*附件:FTDI_FPGA.
    发表于 01-20 14:48

    轩展科技发布4K USB3.0编码采集模块

    在成功推出新版配备TYPE-C接口的USB3.0编码采集模块后,轩展科技再次发力,近日隆重推出一款集多项先进技术于一体的4K USB3.0编码采集模块。作为SONY(中国)FCB摄像机官方授权代理商
    的头像 发表于 12-30 11:19 998次阅读

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

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