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.

AM5728: USB support on M4

Part Number: AM5728

Hi, 

 Is there any USB library available for cortex M4 in AM5728. 

  Am able to run USB program  on A15 core but my requirement is to build similar code for M4 core.

 Or is there any makefile to generate required library for USB on M4 like ti.drv.usb.aem4

  
Am using TI-RTOS on M4 core of AM572x_evm.  

 

Regards,


Geek13

 

  • Hello,

    No, there is no existing USB driver library or makefile for M4 in Processor SDK currently. You may refer to A15 core to port to M4.

    Regards,
    Garrett

  • Hi Garret,

       Yeah am referring A15 core to create project for M4 core but problem is its asking for  ti.drv.usb.aem4. 

       I refer below mention link:

        http://software-dl.ti.com/processor-sdk-rtos/esd/docs/04_03_00_05/rtos/How_to_Guides.html

       Do some required changes as mention in above link but once I use make build_lib its not giving any error but does not create any library for M4 core.

       Is there any link where somebody can try out similar thing for M4/other core.

       

      Regards,

      Geek13

  • Hi,

    As USB is not supported in M4, it's expected that no ti.drv.usb.aem4 will be created.

    In addition to makefile change, some modification has to be done in the driver to enable USB on M4, e.g. route interrupts from usb to M4 instead of ARM by configuring crossbar.

    Regards.
    Garrett

  • Hi Garrett,

      Am able to build USB bulk device for M4 core now. But when I trying to run that code with debugger on AM572x_evm on its IPU core.

      Program execution is successful but application stuck somewhere  USB need to recognized by system to transfer a data.

     Similar code am able to run properly on A15 core. when I run that application usb recognized in PC and able to get data on connected port.

      Can I know what will be the main focused area where  USB trying to register with system.

        

    On windows its always showing not recognized by system in case of A15 & IPU core. But able to detect & communicate on LINUX host properly in case of A15 only not with IPU.

    Geek13

  • Hi Garrett,

         To use USB on A15 usb_arm_am572x_evm.cfg is being used and am able to perform USB bulk transfer, but on Linux host. Windows 10  showing some driver problem, see below attach pic for reference. 

    In addition to this should be have cfg file for M4. as of now am taking usb_dra7xx.cfg as a reference, but not able to execute same thing on M4 core what am able to do on A15. Application stuck somewhere while detecting USB. Is there any USB related configuration need to be done in cfg file.

    Can I have some application note how to write own application specific cfg file on desired core .

    Regards,

    Geek13 

  • Hi,

    We don't have an application note to specifically explain the cfg file, but there are many examples in the PDK that you can refer to, for example, uart_m4_evmAM572x.cfg under packages\ti\drv\uart\test\am572x\m4\bios

    In order to enable USB to M4, it should not be just a update of cfg/makefile file, as I mentioned above, you might need dig into the driver code and try to identify as core or compiler specific implementations.

    Regards,
    Garrett