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.

NDK NIMU

hello:

 I want to use both tcp and udp in my project, I use tcp to recv and send command with PC, and use UDP recv  data from PC, when  I run my project, I find that  udp drop packet usually when the pc send seed over 40Mbps. I try to change the PBM buffers number of frames from default 192 to 1920,  the udp packet loss have same improve, but still drop.  Then I change the #define NIMU_NUM_RX_DESC                110u  , it also have improve, but stll not resolve  packet loss problem. I know the use the PA directly can resolve the udp  packet loss  problem. And  the link says the ndk  does not use PASS fully.

http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/206702/750299.aspx#750299

1.I am not sure whether the ndk_2_23_00_00  I use now  use the PA. I  use c6678 EVM board.

2. whether there are other way to resolve udp packet loss,because in my project ,the speed is too slow.

 

Best Regards

Si

 

  • Si,

    Please refer the NDK and PA based client project at the MCSDK package as per below path,
    mcsdk_2_01_02_06\examples\ndk\client\evmc6678l
    You can take this as a reference code or modify this example code to your requirment.
    If you do not have the MCSDK package, please find the latest one and install. This will give the NDK stack code also.
    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html

  • Pubesh:

    Thanks for your reply. I have a read the MINU code. My project  is based on the  mcsdk_2_01_02_06\examples\ndk\client\evmc6678l demo. When I  run my project ,I find that in the function 

    EmacRxPktISR ,  it have some packet loss at the below code. the gRxDropCounter is not zero.

    /* Allocate the PBM packet for the Max MTU size*/
    if (NULL == (hPkt = PBM_alloc(1514))) {
    /* could not get a free NDK packet, maybe the next time around we can... */
    gRxDropCounter++;
    pHostDesc->buffLen = pHostDesc->origBufferLen;
    QMSS_QPUSH (gRxFreeQHnd, (Ptr)pHostDesc, pHostDesc->buffLen, SIZE_HOST_DESC, Qmss_Location_TAIL);
    continue;
    }

    Because PBM_alloc(1514))) failed, so I change the num of frame in bios cfg file from 192 to 30000, but it still has packet loss. I don't know whether there are elsewhereI have to modefy. I need help to improve the udp loss packet question.

    Best Regards,

    Si

     

  • Si,

    Did you test the client NDK example code with out modification on EVMC6678? Which is the case are you looking for PBM.

  • I have solve problem, modefy the PKT_NUM_FRAMEBUF in pbm.c, the emac will not lose packet.

    thanks.