Background:
Windows 7 64-bit
CCS v6.1.2.00015
Processor SDK for AM335x
In directory C:\ti\processor_sdk_rtos_am335x_2_00_01_07 I executed (in a command prompt)
>setupenv.bat
>gmake all
The worst messages that I saw were relatively minor warnings, like "unused variable" and the like. Then in directory C:\ti\pdk_am335x_1_0_1\packages I executed
>pdkProjectCreate.bat AM335x evmAM335x little all arm
I can see that the SoC on the EVMAM3358 is working, and one of the UARTs is working (UART example works great with Tera Term terminal emulator).
Next I connected a USB cable to USB port 0 to my PC (the USB port is labeled "USB0" in the silk screening on the main board), imported into CCS (copying the project into my own workspace) the project in C:\ti\pdk_am335x_1_0_1\packages\MyExampleProjects\usb_dev_msc_evmAM335x_arm_project, and built it, and loaded it in debug mode on the General Purpose EVMAM3358, to the Cortex_A8 core.
The USB cable is known good, and tested with another device to verify this. The USB port on the PC has also been similarly verified.
According to my understanding, this is supposed to handshake with the PC as an uninitialized USB Mass Storage device. However, this did not happen. The Tera Term window has: "RTOS USB Dev MSC example!!" and no further text. Setting a stop point just after this string is emitted, in the function taskFxn() it calls USB_open(...) and never returns. If I pause execution, the tab heading contains this string: "setupMusbDevMsc(struct USB_Params *) at soc/am335x/usb_soc.c:273 0x80008a54
In the file usb_soc.c is this code:
status = USBDcdIntfRegisterDcd( &pDcdCoreInterface, musbObj.name );
if ( S_PASS == status)
{
/* this initialisation should be done in the dwc3 device control driver */
...(code removed for brevity)...
}
else
{
while(1); // some setup errors. Trap it here. <<<<<<<<<<< This is line 273 where CCS says it is paused.
}
I tried the USB cable in the other USB port (on the daughter board), but this did not change the behavior.
Anyone run into this before? Or have any ideas as to how I can make this work?