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.

Multicore NDK operation on C6678

Other Parts Discussed in Thread: SYSBIOS

Hi,

I'm looking into a multicore networking application using the C6678.

There has previously been discussion of NDK and multicore in the forums and the indication at the time was the NIMU did not support multicore application.

http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/312679.aspx

Any updates to this?

Is there any difference in multicore support in the newer versions of NDK that have been released?

TI NDK v2.24.0.11 for example:

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ndk/2_24_00_11/index_FDS.html

Thanks,

James

  • James,

    The nimu has to be slightly modified in order to handle a non-core0 run of the client example.
    I have tested this out on the client example, and it worked on core 1.
    I rebuilt the new nimu by importing the project and pointing the client_example to the newly built nimu in the PDK (C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ndk\nimu\lib\debug).
    A notable change in the nimu is the addition of the following:

    nimu_eth.c
    uint32_t PA_ACC_CHANNEL_NUM;

    There was also a slight modification in the client example source.
    Please take a closer look at this e2e post where it addresses the issue.
    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/165415/858287.aspx#858287

    Something to note in the execution of the example is that core0 has to be connected, and the GEL executed before trying to run the client in a core other than core0.

  • Pubesh-

    What stops us from running SYSBIOS + NDK configuration concurrently on each core?  Is this a modification that TI has not implemented yet?  If so, what files (in addition to nimu_eth.c) would we need modify?

    Thanks.

    -Jeff
    Signalogic

  • Jeff,

     I rebuilt the new nimu by importing the project and pointing the client_example to the newly built nimu in the PDK (C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ndk\nimu\lib\debug).

    5355.nimu.zip

    8863.client.zip

  • Hi Pubesh-

    Is this for running the PA example concurrently on multiple cores?

    -Jeff

  • Jeff,

    By default the NIMU driver will support for core0, modified this NIMU will support for other than core0 like need to act as a master core if core1 will work. I understand that, in your case need to run the all the core at the same time. As of now this version of nimu will not support and also having PA based. I will check with NDK/MCSDK team and provide the details.

  • Pubesh-


    Ok thanks.  If concurrent multicore NDK is not feasible, then we're ok to run concurrent multicore with PA based method, as long as we can program L4 DMA to automatically move packets to/from queues assigned to different cores, based on UDP port values.  We would implement our own ARP and ICMP handling.

    Does this sound ok?  Please ask your NDK/MCSDK team to compare each approach and recommend.  Thanks.

    -Jeff