主题中讨论的其他部件:controlSUITE, DESIGNDRIVE, C2000WARE
工具/软件: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的调用。
感谢您就此事提供的帮助,
伯爵绿