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.

Problem with MCSDK Client example for C6472 when running in multicore

Hi,

I am able to run the client example on core 0. Not i want to run the same example in all cores at same time. means each core can configure its own EMAC channel.

I have adjusted the progem sections in different memory. My Latest configuration for memory in CFG file is:

Program.sectMap[".vecs"] = "LL2RAM";
Program.sectMap["emacComm"] = "SL2RAM";
Program.sectMap["systemHeap"] = "LL2RAM";
Program.sectMap[".switch"]  = "SL2RAM";
Program.sectMap[".sysmem"]  = "DDR2";
Program.sectMap[".args"]    = "DDR2";
Program.sectMap[".cio"]     = "LL2RAM";
Program.sectMap[".far"]     =     "LL2RAM";
Program.sectMap[".cinit"]     =     "SL2RAM";
Program.sectMap[".bss"]        =    "LL2RAM";
Program.sectMap[".const"]    =    "SL2RAM";
Program.sectMap[".text"]    =    "SL2RAM";
Program.sectMap[".code"]    =    "SL2RAM";
Program.sectMap[".data"]    =    "DDR2";
Program.sectMap[".taskStackSection"] = "LL2RAM";
Program.sectMap[".stack"]    =    "LL2RAM";
Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "LL2RAM", loadAlign: 8};
Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "LL2RAM", loadAlign: 8};
Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "LL2RAM", loadAlign: 128};

Initially i was facing a problem as i kept "emacComm" section in LL2RAM but in code i found this is the section that should be shared accross all the cores. Then i moved the code to SL2RAM.

After that i made build and loaded into all cores after DDR2 Configuration in Target using GEL file.

In Core 0 I am getting these set of logs:

TCP/IP Stack Example Client
emac_init: core 0, port 0, total number of channels/MAC addresses: 1/1
MAC addresses configured for channel 0:
08-00-28-39-24-AA
emac_open core 0 port 0 successfully
Registration of the EMAC Successful, waiting for link up ..
Network Added: If-1:35.66.118.10
Service Status: Telnet   : Enabled  :          : 000
Service Status: HTTP     : Enabled  :          : 000

 

But in core 1 i am getting logs like this:

TCP/IP Stack Example Client
emac_init: core 1, port 0, total number of channels/MAC addresses: 1/1
MAC addresses configured for channel 1:
08-00-28-39-24-AA
emac_open core 1 port 0 EMAC_coreDeInit returned error 00000004
emac_open core 1 port 0 EMAC_coreInit returned error 00000004
Error: Unable to register the EMAC
Service Status: Telnet   : Enabled  :          : 000
Service Status: HTTP     : Enabled  :          : 000

 

But in core 2 i am getting logs like this:

TCP/IP Stack Example Client
emac_init: core 2, port 0, total number of channels/MAC addresses: 1/1
MAC addresses configured for channel 1:
08-00-28-39-24-AA
emac_open core 2 port 0 EMAC_coreDeInit returned error 00000004
emac_open core 2 port 0 EMAC_coreInit returned error 00000004
Error: Unable to register the EMAC
Service Status: Telnet   : Enabled  :          : 000
Service Status: HTTP     : Enabled  :          : 000

 

First thing i want to know how to apply different mac addresses for different cores and reason of this problem?

 

Please help.

Arun

arunshukla.kiet@gmail.com

 

  • Now i have updated the code for different MAC addresses so i am getting logs like:

     

    Core 0:

    TCP/IP Stack Example Client
    emac_init: core 0, port 0, total number of channels/MAC addresses: 1/1
    MAC addresses configured for channel 0:
    08-00-28-39-24-AA
    emac_open core 0 port 0 successfully
    Registration of the EMAC Successful, waiting for link up ..
    Network Added: If-1:35.66.118.10
    Service Status: Telnet   : Enabled  :          : 000
    Service Status: HTTP     : Enabled  :          : 000

    Core 1:

    TCP/IP Stack Example Client
    emac_init: core 1, port 0, total number of channels/MAC addresses: 1/1
    MAC addresses configured for channel 1:
    08-00-28-39-25-AA
    emac_open core 1 port 0 successfully
    Registration of the EMAC Successful, waiting for link up ..
    Network Added: If-1:36.66.118.10
    Service Status: Telnet   : Enabled  :          : 000
    Service Status: HTTP     : Enabled  :          : 000

     

    Note: But after creating static ARP entry also i am not able to ping other cores. Core 0 is pingable.

     

  • Hi Arun Kumar,

    Which version of the MC SDK are you using?  Also, which version of SYS/BIOS and NDK?

    Also, just to double check that you did this ... In the client configuration file (*.cfg), there is a configuration parameter for enabling the stack to run on certain cores - "multiCoreStackRunMode ".  You must set your configuration properly to allow the stack to run on both core 0 and core 1.  It would be similar to the following configuration code:

    var Global = xdc.useModule('ti.ndk.config.Global');

    Global.multiCoreStackRunMode = Global.STACKRUN_FLG_CORE_0 | Global.STACKRUN_FLG_CORE_1;

    Thanks,

    Steve

  • Hi Arun,

    I've just gotten in contact with the MC SDK team and have some bad news ... it turns out that running the stack on more than one core is not supported.

    Steve

  • Hi,Steven

             Do you mean the NDK can't run more than one core? I have the TMDSEVM6472 boards,if i want to receive udp packets from EMAC0 ,and then send to EMAC1,how can I do? thank you !

  • Hi Anderson,

    Unfortunately the answer is yes (only running on a single core is supported, as mentioned above).

    Steve

  • Hi,

         .  I want to know whether you client example is downloaded  from  mscdk. Does the project run successful on the board. I have a dual_C6472 board . But the same client example can not run successful on it . Could you give me some advice? Thanks.

  • Yuan,

    Please Create New Threads for New Issues, and even for similar issues that have already been reported.
    Do not reply to a thread that has already been answered and say "I'm having the same problem".
    You will get a faster response if you create a new issue that is not already marked answered.

    Answered your issue in your another E2E post as per below link,

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/439/p/364018/1279537.aspx#1279537