Hi,
I've been trying to get the USB MSC host example running on a F28337D control card (with docking station).
This is the clock initialisation from usb_host_msc.c -
SysCtlClockSet(SYSCTL_OSCSRC_XTAL | SYSCTL_PLL_ENABLE | SYSCTL_IMULT(20) | SYSCTL_SYSDIV(2));
SysCtlAuxClockSet(SYSCTL_OSCSRC_XTAL | SYSCTL_PLL_ENABLE | SYSCTL_IMULT(12) | SYSCTL_SYSDIV(4));
The processor gets stuck waiting for the AUX PLL to lock in sysctl.c (in SysCtrlAuxClockSet()) -
//Wait for the SYSPLL lock
while(ClkCfgRegs.AUXPLLSTS.bit.LOCKS != 1)
{
// Uncomment to service the watchdog
// ServiceDog();
}
The app will run (the console via the virtual UART is working) if you comment out the call to SysCtrlAuxClockSet() but the USB is inoperable.
I managed to enumerate a flash drive once by calling InitSysCtrl() and the setting the aux clock, but a few re-flashes later this stopped working. Almost like some sort of race condition, could it be the second core causing issues?
Also, I tried the sd_card example with similar results, the processor is stuck waiting for the auxpll lock.
Does anyone have a definitely working example of setting up USB? I've tried two different controlCards with the same results so a hardware fault is unlikely.
I'm using CCS 5.5 with all the latest updates installed (including the additional flash support software site mentioned elsewhere in this forum).
Thanks,
Mark.