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.

[参考译文] CCS/TMS320F2.8379万D:运行IDDK_PM_Servo_F2837x-v2项目时,Windows设备管理器中未枚举USB com端口

Guru**** 2587365 points
Other Parts Discussed in Thread: CONTROLSUITE, DESIGNDRIVE, C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/603966/ccs-tms320f28379d-usb-com-port-not-enumerated-in-windows-device-manager-when-running-iddk_pm_servo_f2837x-v2-project

部件号:TMS320F2.8379万D
主题中讨论的其他部件:controlSUITEDESIGNDRIVEC2000WARE

工具/软件:Code Composer Studio

您好,

我最近在这里发布了一个问题,该问题显然与CCS调试器有关,或者可能与controlSUITE支持软件中包含的CCS项目有关。 我已验证USB_DEP_SERIAL_CPU1项目不存在此问题。

我们最近购买了DesignDRIVE开发套件IDDK,如下所示: www.ti.com/.../TMDXIDDK379D。 然后,我们使用IDDK controlSUITE项目围绕TI芯片和此开发板开发了软件,但我们注意到,当我们在CCS中启动调试器时,代码将加载到控制器上,调试器将运行到main()。 无论是否有断点,当我们进入main()函数时,在Windows设备管理器中不会显示USB com端口被枚举,有时我们会收到Windows通知,指出最后一个USB设备未被识别。 在购买DesignDRIVE套件后,我们开始使用IDDK controlSUITE项目进行软件开发似乎是合乎逻辑的。

当我们从controlSUITE使用USB_DEP_SERIAL_CPU1项目时,我们仍然可以将代码加载到controlCARD。 但不同之处在于,当此项目在main()处停止,而我们在设置了断点或没有设置断点的情况下进入main()时,Windows设备管理器确实会显示在“端口(COM & LPT)”下枚举的USB COM端口。 显然,在我们终止调试器并断开USB电缆与主机PC的连接后,COM端口消失。 但是,只有在运行USB_DEP_SERIAL_CPU1项目时才会出现这种[令人惊讶的正确]行为。 这两个项目之间有何区别? 希望在其他CCS项目(特别是IDDK_PM_Servo_F2837x-v2项目)中复制USB_DEV_SERIAL_CPU1项目的行为。

调试USB_DEP_SERIAL_CPU1和IDDK_PM_Servo_F2837x-v2这两个项目时,我认为我将问题隔离到TI USB库中的函数调用void *USBDCDCInit(UINT32_t ui32Index, tUSBDCDCDevice *psCDCTever)。 在USB_DEP_SERIAL_CPU1项目中执行此调用会导致在设备管理器中枚举COM端口。 但是,在IDDK_PM_Servo_F2837x-v2项目中执行此调用的相同操作不会导致COM端口的枚举。 在查看USB库(即文件usbdcdc.c/.h)时,我看到USBDCDCInit包含对USBDCDCCompositeInit (ui32Index,psCDCDevice,0)的调用以及对USBDCDInit (ui32Index,&psInst->sDevInfo,(void *)psCDDevice的调用。

感谢您就此事提供的帮助,

伯爵绿

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

    IDDK项目在做什么? 您是否使用两根USB电缆? 还是一根USB电缆? 什么与什么有关?

    USB_dev_serial将作为通信端口连接到PC是正确的。 我不确定IDDK是否正在使用USB,是否应显示为单独的通信端口。

    此外,controlCARD上的micro-USB连接器能够通过FTDI芯片连接到调试器和SCI引脚,以充当通信端口。 这可能是您所看到的。 这两件事可以同时发生。

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

    我正在使用两根USB电缆,微型和微型USB。 两个DIP开关(用于UART和JTAG的A:SW1)均切换至ON (开)位置。 两根电缆均连接至PC。

    事实上,我们购买了一个IDDK开发板,我们决定将IDDK项目用作代码的起点。 但是,我们仍然需要通过COM端口进行通信,IDDK项目不包含USB功能的代码,因此我们已将USB代码集成到此项目中。

    伯爵
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用SCI与PC进行串行通信。 您可能希望这样做。 使用mini-USB连接器和FTDI芯片时应该可以实现这一点。 您的主板上是否有FTDI芯片,通过mini-USB连接器多路复用SCI针?

    使用SCI将更易于开发和调试。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该板具有FTDI芯片,因此我可以使用SCI接口来开发和调试芯片。

    伯爵
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您正在查找连接到PC的COMM端口,而不是在CDC模式下使用USB,我建议使用此端口。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们通过JTAG接口将Code Composer Studio中编写的代码加载到目标F2.8379万D芯片。 使用TI提供的示例项目(即USB_DEP_SERIAL_cpu01),将代码加载到主板上并从RAM运行后,将枚举COM端口并通过micro-USB电缆进行通信。 我可以验证这一点,因为加载程序后,我可以断开mini-USB线缆,我们仍然可以与设备通话。

    连接到PC的COM端口是否仅支持主机通信,还是SCI接口也用于调试和通过JTAG加载程序?

    谢谢!
    伯爵
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    小型USB和FTDI芯片上的COM端口将仅用于串行通信。 但是,微型USB也可用于JTAG,因为您当前正在执行此操作。

    USB_DEP_SERIAL还演示了如何使用SCI通过mini-USB进行通信,C2000Ware中的sci示例也是如此。

    如果您有任何其他问题,请告诉我。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,感谢您的帮助。 如果出现其他问题,我会通知您。

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

    在我们的IDDK项目中,在main()开始时,我们使用InitSysctrl()来初始化PLL,看门狗和外设时钟的系统控制,它是从F28M3Xx_sysctrl.c.调用的 USB_DEV_SERIAL项目使用SysCltlClockSet(sysctl_OSCSRC_XTAL | sysctl_PLL_enable | sysctl_IMULT(20)| sysctl_SYSDIV(2))。 这种差异是否会导致USB com端口无法在设备管理器中枚举?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Sal,

    在我们的IDDK项目中,在main()开始时,我们使用InitSysctrl()来初始化PLL,看门狗和外设时钟的系统控制,它是从F28M3Xx_sysctrl.c.调用的 USB_DEV_SERIAL项目使用SysCltlClockSet(sysctl_OSCSRC_XTAL | sysctl_PLL_enable | sysctl_IMULT(20)| sysctl_SYSDIV(2))。 这种差异是否会导致USB com端口无法在设备管理器中枚举?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。


    我不这么认为。 看起来它正在为200MHz设置PLL。

    SAL