- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BF52x USB应用程序开发介绍
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * USB ADI BULK类设备实现 USB ADI BULK类设备实现 如何最快的实现我的USB应用 USB ADI BULK类设备实现 -如何最快的实现USB应用 OTG DRIVER OTG DEVICE OTG CONTROLLER Application USB CLASS DRIVER USB CLASS DEVICE 我们在了解了硬件实现了OTG DRIVER之后,还须实现一个usb class driver,它实现了最终的设备功能,应用程序直接对它进行编程,它可能是Mass Storage,HID,Audio,MP3…….. 我们需要做的是: 1 --- 定义自己的类设备 2 --- 在其上实现应用开发 1 2 USB ADI BULK类设备实现 -如何最快的实现USB应用 ADI 已经提供了完整的USB核和硬件控制器(OTG Controller)驱动 ADI 已经提供了进行DMA控制和操作的统一接口 ADI 已经提供了进行USB应用开发的实例程序 用户需要做的工作: 分析ADI BULK类设备驱动的实现 定义满足自己需求的类设备 编写应用程序 调试程序功能 USB ADI BULK类设备实现 -ADI BULK类设备 OTG DRIVER OTG DEVICE OTG CONTROLLER Application ADIBULK DRIVER ADIBULK DEVICE USB类设备的实现: ADIBulk Driver完成了USB协议中DEVICE、CONFIG、INTERFACE、ENDPOINT各描述符的定义,它实现各个EndPoint的功能,实现上层的应用逻辑,它是一个功能设备,它需要借助于OTG Device来实现USB硬件操作,作为一个功能设备我们同样要实现一个EntryPoint来完成驱动功能。 USB ADI BULK类设备实现 -编写USB类设备 创建DEVICE、CONFIG、INTERFACE、ENDPOINT描述符 按照USB的协议,设备以DEVICE到ENDPOINT的树状结构来组织,按照应用需求来创建自己的配置及相关描述符。 ADIBUIK类设备驱动在这个函数中实现了对EP的配置和功能分配。具体实现请参照 adi_usb_bulkadi.c 文件。 USB ADI BULK类设备实现 -编写USB类设备 创建entry point 结构体 根据设备驱动模型,每一个设备都有一个进入点结构来实现所有的物理操作,ADI BULK设备也应该实现这一结构体以完成对物理设备的操作。 这个结构实现了BULK应用的进入点(Entry Point)结构体。 USB ADI BULK类设备实现 -编写USB类设备 实现entry point 结构体中各个函数 定义了entry point 结构我们就要实现其中的每个函数。 USB ADI BULK类设备实现 -编写USB类设备 实现entry point 结构体中各个函数 定义了entry point 结构我们就要实现其中的每个函数。 USB ADI BULK类设备实现 -编写USB类设备 实现entry point 结构体中各个函数 定义了entry point 结构我们就要实现其中的每个函数。 USB ADI BULK类设备实现 -编写USB类设备 实现entry point 结构体中各个函数 定义了entry point 结构我们就要实现其中的每个函数。 在控制函数我们需注意一个命令: ADI_USB_CMD_CLASS_ENUMERATE_ENDPOINTS 提供给应用程序对当前设备使用的ENDPOINT进行查询,因为在读写函数中均指定了进行操作的ENDPOINT号,其实现函数如下: 其它命令参见具体实现。 USB ADI BULK类设备实现 -编写USB应用程序 OTG DRIVER OTG DEVICE OTG CONTROLLER Application ADIBULK DRIVER ADIBULK DEVICE us
文档评论(0)