This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/PROCESSOR-SDK-AM335X:通过 USB 访问 SD 卡

Guru**** 2958020 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/662178/rtos-processor-sdk-am335x-usb-access-to-sd-card

器件型号:PROCESSOR-SDK-AM335X

工具/软件:TI-RTOS

各位专家:

基于 https://e2e.ti.com/support/arm/sitara_arm/f/791/t/622577#pi316653=2

1.“umount/safely remove command”的进度如何?

2.我们发现它不能与 MacOS 和 Linux 配合使用,只能与 Windows 配合使用。 (P.S. 我们客户的操作系统是 Android)

macOS => ICE 控制台日志: CortxA8:未处理的 ADP_Stopped 异常0x20023

Linux => dmesg:
[105.569915] USB 1-1.5:使用 DWC_OTG 重置高速 USB 器件编号6
[110.749893] USB 1-1.5:器件描述符读取/64、错误-110
[126.109893] USB 1-1.5:器件描述符读取/64、错误-110
[126.339886] USB 1-1.5:使用 DWC_OTG 重置高速 USB 器件编号6
[131.46981] USB 1-1.5:器件描述符读取/64、错误-110
[146.830229] USB 1-1.5:器件描述符读取/64、错误-110
[147.050232] USB 1-1.5:使用 DWC_OTG 重置高速 USB 器件编号6

此致、
等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我们还没有机会处理安全卸载问题。

    但是、根据我们的经验、USB-MMCSD 演示在 Linux 中比在 Windows 上更有效。 我们没有尝试使用 Android。  

    想知道您在使用"安全删除"命令时或在拔下 USB 电缆并将其插回时是否看到问题?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Thanh、

    我的测试 Linux 是 Parallels 中的 Raspbian 和 Ubundu16.04,因此我将使用真实的 Linux 计算机和 Android 对其进行测试,并报告测试结果。

    如果没有安全删除命令、我们的目标 AM335x 应主动断开 USB 接口。
    由于我们的目标有两种访问 MMCSD 的模式、一种是通过 FATFS API 的内部应用程序、另一种是 USB 主机设备。 (我认为他们无法同时访问 MMCSD 资源)。
    但我找不到相应的 API,如 USB_close(),关闭 USB 接口并取消注册 USB 中断以安全释放资源。

    您能帮我们解决问题吗?

    谢谢!!

    此致、
    等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    您可以调用函数 Hwip_disableInterrupt()来禁用 USB 中断。  当您准备好再次安装 USB 驱动器时,您可以运行与 USB_open()相同的代码。  希望这起作用

    谢谢

    Thanh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Thanh、

    1.很遗憾、使用我们客户的 Android 设备进行的测试失败。
    2.调用 Hwip_disableInterrupt ()可以停止 USB 中断事件,但恢复方法是....
    方法1:USB_open()=>返回值为零。 =>失败
    方法2:仅 usbdIntrConfig()=>崩溃
    方法3:Hwip_enableInterrupt()=>它可以正常工作,但如果 PC 对 USB 执行某些操作并发生超时,该方法仍然无法恢复。

    您能帮我们解决问题吗?

    谢谢!!

    此致、
    等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    如果调用它两次,则 USB_open()将失败。 我想说的是,您可以复制 USB_open()中的操作以重新启动 USB。

    但我们会做一些实验、然后再回来。  

    谢谢

    Thanh