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.

TMS320F28388D: TCP not working with IPC interrupt

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

Hello, I am new to Ethernet and TI components. I want to use IPC with interrupt to communicate between CPU1 and CM core. I have tried to include the functions in the screenshot below to the example at C:\ti\c2000\C2000Ware_3_04_00_00\libraries\communications\Ethernet\ti\ndk\examples\tcpEchoF2838X in CM side. However, after I had implemented those functions including CM_init(), IPC_registerInterrupt(), the TCP socket would not work. For instance, I could not ping to the address of socket. What could be the reason of this problem? Thanks in advance!

  • Hi, 

    Were you able to get the existing NDK example running without any issues?

    Best Regards

    Siddharth

  • Hi, Siddharth 

    Yes, we can run the TcpEcho example without any issues. 

    When I put some functions like CM_init(), IPC_registerInterrupt() .. in main at CM side, I can build and run the program without issues, transfer and receive data between CPU1 and CM properly, but TCP would not work. For instance, I could not ping the address of the socket. 
    Thank you !!!

  • For anyone facing this problem. We can't use  IPC_registerInterrupt() with BIOS. We need to register the interrupt by the hwi module.

    In .cfg file : 

    var hwiParams = new Hwi.Params; /* Initialize hwiParams to default values */
    hwiParams.arg = 10; /* Set IPC_ISR0 argument */
    hwiParams.enableInt = true;
    /* Create a Hwi object for interrupt number 45
    * that invokes IPC_ISR0() with argument 10 */
    Hwi.create(45, '&IPC_ISR0', hwiParams); 

    /////////////////////////

    45 in Hwi.create is the interrupt number which you can find at driverlib_cm/inc/hw_ints.h. And interrupt function look like this: void IPC_ISR0(UArg arg){}