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.

AM437x PDK 例程USB_HostMsc_evmAM437x_armExampleProject无法成功运行



你好,

我在am4379evm上运行 pdk的测试程序USB_HostMsc_evmAM437x_armExampleProject失败了。

该程序大体上是如下步骤:

USB_open->usbHostIntrConfig->SBHMSCDriveOpen->USBHCDMain->USBHMSCDriveReady

插入U盘后,会在USBHMSCDriveReady函数里卡死,更进一步调查发现是卡死在xhci_wait_for_event的函数里,读寄存器状态一直不对。

static void xhci_wait_for_event(uint32_t baseAddr)

{
#if (defined(SOC_K2G) || defined (SOC_AM65XX))
/* use USBSTS instead of IMAN since USBSTS_EINT can be set from any interrupter */
while ((HW_RD_FIELD32(baseAddr + DWC_USB_USBSTS, DWC_USB_USBSTS_EINT) != 1));

#elif (defined(SOC_AM574x) || defined(SOC_AM572x)||defined(SOC_AM571x)||defined(AM57XX_FAMILY_BUILD)||defined(AM43XX_FAMILY_BUILD)||defined(SOC_AM437x) || defined (SOC_DRA72x) || defined (SOC_DRA75x))

while ((HW_RD_REG32(baseAddr + DWC_USB_IMAN(1)) & DWC_USB_IMAN_IP_MASK) 
!= DWC_USB_IMAN_IP_PENDING);
#else
#error "SOC family is unknown"
#endif

}

请问可能是什么原因?

我如果运行linux系统,则是可以正常识别U盘。

谢谢!