0

我在 Windows 7 PC 上使用 AM335x Beagle Bone black 和 WinCE 7 BSP VS 2008。我正在使用移动设备中心。当设备启动时,我收到“无法识别 USB 设备”的弹出消息。我已经检查了以下内容。

  1. 已添加必需的目录项
  2. 所有 USB 驱动程序都在最终映像中
  3. 在 windows XP 32 位 PC 上测试它 - 错误仍然存​​在
  4. 正在加载所有 USB 驱动程序
  5. 检查 PC 中基于移动设备的更新

我添加的目录项是,

  1. Core OS\Windows Embedded Compact\Device Drivers\USB\USB Function\USB Function Clients\USBFN Serial Client
  2. Core OS\Windows Embedded Compact\Device Drivers\USB\USB Function\USB Function Support
  3. Core OS\Windows Embedded Compact\Applications - End User\Active Sync\File Sync
  4. Core OS\Windows Embedded Compact\Applications - End User\Active Sync
  5. Core OS\Windows Embedded Compact\Shell 和用户界面\Shell\Graphical Shell\Standard Shell
  6. 第三方\BSP\AM33X_BSP\ARMV7\Drivers\MUSB OTG 驱动

我是否缺少任何目录项目?对于 ActiveSync 连接,我还能验证什么?

更新 1:

由于依赖关系,此目录项被包含在内。这个问题有什么原因吗?

Core OS\Windows Embedded Compact\Device Drivers\USB\USB Host\USB
    Host Support

根据日志,我注意到serialusbfn.dll没有加载。如何让它加载?在注册表中没有给出它的订单号。

4

2 回答 2

0

如果 Windows 不要求驱动程序,则意味着在物理连接之后,设备没有提供有效的 ID,这意味着低级 USB 链接没有按预期工作。IIRC 控制器是一个 OTG 控制器,您需要在构建 OSImage 时将其配置为既充当主机又充当设备(或仅在您的情况下充当设备)。

于 2014-01-14T08:50:04.127 回答
0

它现在可以在 Windows 7 和 Windows XP 中运行。

以前我在调试模式下构建 BSP。我将其更改为发布模式。

我确保在 OS Design 中禁用 KITL,并在设备启动时在 eboot 中禁用 KITL。

在 Windows XP 中,它就是这样连接的。

在 Windows 7 中,Windows 更新检测到该设备并为其安装了驱动程序。它第一次没有连接(或者我没有再等几分钟)。第二次 Windows 更新也安装了驱动程序并连接上了。从那时起,它每次都在 2 分钟内连接。之后就不用安装驱动了。

我认为,由于一些时间问题,Active Sync 在调试模式下没有连接。

根据 ARM A8 用户指南,KITL 和 Active Sync 不能同时在一起的原因是,

USB RNDIS KITL 传输使用一组专用例程与内核通信。它不使用标准 USB 功能或 OTG 堆栈。使用 USB RNDIS KITL 时禁用所有 USB 驱动程序至关重要。当 KITL 处于活动状态时,USB RNDIS KITL 实现会自动禁用标准 USB 驱动程序。

感谢 Keshava 和 Valter 的持续帮助!

于 2014-01-16T11:32:20.193 回答