首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无中断端点的USB /PTP

无中断端点的USB /PTP
EN

Stack Overflow用户
提问于 2013-02-04 18:27:21
回答 1查看 1.2K关注 0票数 2

由于我们计划为您的下一个设备使用MTP (媒体传输协议),因此我们评估使用MTP作为当前发布设备中当前(不稳定) USB驱动程序的替代。

该设备的限制是,它的处理器(强Arm)最多只能支持3 EndPoints:

串行端口0是一种通用串行总线设备控制器(UDC),它支持三个端点,可以以波特率为12 Mbps (仅从机,而不是主机或集线器控制器)操作半双工。

但是根据规范,MTP至少需要4个端点(来自PTP规范):

设备至少应包含四个端点:默认端点、数据输入端点、数据输出端点和中断端点。

现在的问题是:我们可以跳过设备上的中断端点吗?我知道它违反了规范-但是如果我们这样做了会发生什么呢?

从我们当前的评估软件中,我可以看到以下场景:

  1. “可用空间”没有更新--用户将看到有100 1Mb的空闲内存,但是放置一个1Mb文件会导致错误“内存不足”。
  2. 非主机驱动的操作在主机上不可见(因此,当设备文件被删除、创建或移动时,连接的主机不知道)。

如果我们能接受它,那么以这种方式实施它是否明智?

更新:该死..。上次测试时,我刚刚删除了中断-EP数据传输的代码。现在,我还删除了端点定义(不再创建端点),从此不再建立MTP连接:(

windows驱动程序(wpd)似乎需要中断端点--即使它没有被使用。运气不好..。

有没有人想过,是否和如何让MTP与三个端点一起工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-18 09:52:46

最后,我从微软那里得到了一个答案:

不支持3端点设置. 需要中断端点,以便驱动程序能够从设备接收MTP事件。这些事件是驱动程序依赖于将事件中继到应用程序的通知机制(例如,当创建、更新或删除对象时)。 如果您的设备对端点不做任何操作(即不发送事件),则每当设备上的对象发生更改时,资源管理器之类的应用程序将无法正确运行。

所以我们埋没了计划..。:(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14693072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档