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.

OMAP-L138 Starterware USB serial sample

Hi,

I'm trying to get the examples/evmOMAPL138/usb_dev_serial sample going on the IAR (EWARM) toolchain.  It all compiles correctly, and I was able to run the UART echo test, so I'm confident in my environment and port.  But the USB serial code hangs waiting for clocks:

UsbPhyOn() {
        // ..
while (!(HWREG(CFGCHIP2_USBPHYCTRL) & CFGCHIP2_PHYCLKGD)); 
}

Examining the registers at this point reveals:

CFGCHIP2.USB0REF_FREG = 0

So my questions are:

       1) What part of the code is supposed to setup the USB clocks?  

       2) What clock is this sample intended to use?  USB 2.0 or 1.1?  12MHz, 28MHz, or 48MHz?

       3) What PC-side driver is intended to be used with the usb serial sample?

Thanks,

m++

  • I was able to get past the hang by copying a line from the .gel file into the driver:

        reg = 0x09F2;     // HACK: copied setting from .gel file -- appears to set 24MHz USB clock

    HWREG(CFGCHIP2_USBPHYCTRL) = reg;
    A new USB device appears in windows, but no driver can be found for it.  Where can I find the TI .inf file for the USB serial driver?  I'm running Windows 7.
    
    
    Regards,
    m++
  • Ok, I see now that the INF file is located in:  tools/usb_inf

    I tried that one, but I get a dialog that says "Windows could not find driver software for your device".

    Any suggestions on how to solve it?  Is this driver qualified for Windows 7?  Am I using the correct USB clock settings?

    m++

  • Ok, I adapted the enclosed .inf file for use on Windows 7.  It seems to create a COM port now, but the example does not perform a simple echo -- it receives over the USB serial and updates an LCD board which I don't have on me right now.

    m++

  • Hi Martin,

    Can you please let me know the below details to help me understand the issue better:

    1) Which core are you executing the binaries from; ARM OR DSP?

    2) Were you able to execute the prebuilt binaries available with the release; with Windows XP host PC?

    3) Did you try executing the examples using the GCC build and CCS builds; with Windows-7 on host side and your updated .INF file?

    Regards

    Sirish

  • Hi Sirish,

    1) Yes, using ARM

    2) Didn't try

    3) I was able to get it to work on IAR after hardcoding CFGCHIP2_USBPHYCTRL setting as I mentioned, and using the Windows 7 inf driver I developed.

    Thanks!
    m++

  • Hi Martin,

    "3) I was able to get it to work on IAR after hardcoding ..."

    I understand you are able to execute the example.

    The INF file shipped with the release is tested for Windows-XP only. Good to know that your developed INF file is working.

    Regarding where we configure our clocks: we typically have the clocks configured either through the GEL file OR the bootloader.

    Please let me know if you have any other question(s) w.r.t the same?

    Regards

    Sirish