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.

[参考译文] SK-AM64B:AM64作为 USB 主机

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511151/sk-am64b-am64-as-usb-host

器件型号:SK-AM64B
主题:SysConfig 中讨论的其他器件

工具/软件:

大家好、我正在尝试使 AM64用作 USB 主机并从 R5内核控制 USB、因此无法将 Linux 驱动程序用于 USB 主机。 我正在使用 AM64 SK EVM 板。 我以 CDC_ECHO 示例为基地并继续前进。 我根据 makefile 重新编译后、生成了一个名为 hcd.c 的新文件、用于主机移植层函数。 我现在只想初始化、我填充了函数 hcd_init、hcd_int_enable。 这些函数参数来自 USB_handle、因此看起来与 DCd.c 完全相同、但由于我的 tusb_config.h 和 tusb_options.h、USB_handle 对象不同。我还会更新 gUsbInitParam 的最后一个参数1以将 AM64初始化为主机。 但当我这样做时、在 usbDeviceInit 中、我的代码转至 HwiP_DATA_ABORT_HANDLER_C 为什么会发生这种情况?

作为一般问题、从 CDC_echo 示例来看、必须更改/添加什么才能将 AM64用作 USB 主机?

编辑:İf 在 USB3P0SS_W1寄存器中将 USB 模式安排为 USB 主机、当到达寄存器 CSL_USB3P0SS_CTRL_DEV_USB_CONF_USB3DIS 时、数据会中止。 为什么会发生这种情况? 主机配置是否有任何问题? 还是因为  CSL_USB3P0SS_CTRL_DEV_USB_CONF_USB3DIS 是器件寄存器、当我不进行器件配置时、无法到达寄存器?

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

    尊敬的 Murat:

    Unknown 说:
    我试图让 AM64用作 USB 主机并通过 R5内核控制 USB、因此我无法将 Linux 驱动程序用于 USB 主机。

    对于 AM64x 器件、当前 MCU+SDK 产品不支持 USB 主机功能。 请参阅  usb_device_driver 

    但当我执行此操作时、在 usbDeviceInit 中、我的代码转至 HwiP_DATA_ABORT_HANDLER_C. 为什么会发生这种情况?

    您是否通过 SysConfig 完成了 USB 的 Pinmux 配置?  

    此致、

    Tushar

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

    您好、Tushar

    是的、正如我提到的、我使用 CDC_Echo 示例作为基础、并通过 SysConfig 进行 pinmux。

    我知道 SDK 不支持 USB 主机功能。 这就是为什么我要努力实现自己的目标。

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

    尊敬的 Murat:

    是的、正如我提到的、我正在使用 CDC_Echo 示例作为基础、并通过 SysConfig
    进行引脚多路复用

    感谢您的确认。

    Unknown 说:
    CSL_USB3P0SS_CTRL_DEV_USB_CONF_USB3DIS 是器件寄存器、当我不进行器件配置时

    是的、正确。 当控制器在主机模式下运行时、将无法访问 USB 器件寄存器。

    我知道 SDK 不支持 USB 主机功能。 这就是我试图实现自己的原因。

    与 USB 主机相关的功能未在当前 SDK 中进行测试和实现、因此 E2E 不支持与主机功能相关的疑问。

    此致、

    Tushar

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

    您好、Tushar

    感谢快速回复,如果我无法在主机模式下访问设备寄存器,为什么 usb_wrapper.c 中的 usbDeviceInit()函数试图访问该寄存器,无论我的配置如何? usb_wrapper.c 文件位于 Cadence 文件下、我认为它应该在主机模式和设备模式下都起作用。 正确吗?

    谢谢你。

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

    尊敬的 Murat:

    usb_wrapper.c 文件位于 Cadence 文件下方、我认为它应该适用于主机模式和设备模式。 正确吗?
    [/报价]

    usb_wrapper.c 文件不是提供的 Cadence 文件。 这是由 TI 定义的包装器代码、并具有 USB 器件相关配置。

    此致、

    Tushar

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

    嗨、Tushar

    感谢您的快速响应。