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.

IPC libraries

Other Parts Discussed in Thread: SYSBIOS

Hi,

I was trying to  build a small application  with InterProcessor Communication

See the screenshots.Can someone guide me as to which library I am missing.

 

I have used

C:\arvtest\ipc_1_23_03_31\packages\ti\sdo\ipc\lib\instrumented_e66\ipc\ipc.lib

C:\arvtest\ipc_1_23_03_31\packages\ti\sdo\io\lib\instrumented_e66\io\io.lib

C:\arvtest\ipc_1_23_03_31\packages\ti\sdo\utils\lib\instrumented_e66\utils\utils.lib

C:\arvtest\bios_6_32_03_43\packages\ti\sysbios\lib\instrumented_e66\sysbios\sysbios.lib

I have copied all the above libraries into a directory IPCLIB for ease of use and appropriately configured the linker path.

I am still getting a liker error

 

 

Regards

Arvind

  • Arvind 

    The screenshots you attached are very small. We cannot read content in the source file screenshot or in the Error Window screenshot. 

     

    Instead, you can attach  ".build.log"  file.

     

    Also - if your project has a .cfg file, please attach that as well.

  • Hi Arvind,

    Actually it's not a better way to use IPC library as yours. You don't need to copy out the lib and reconfigure the linker path, you can use them in RTSC ways.

    First, you should get into CCS Build->RTSC and check IPC repository. Then the path of IPC packages will be added automatically.

    Then open your cfg file and add the statement such as:

    var MessageQ    = xdc.useModule('ti.sdo.ipc.MessageQ');
    var Ipc         = xdc.useModule('ti.sdo.ipc.Ipc');
    var HeapBufMP   = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP');
    var MultiProc   = xdc.useModule('ti.sdo.utils.MultiProc');
    var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');

    Finally, include header file in your source,like:

    #include <ti/ipc/Ipc.h>
    #include <ti/ipc/MessageQ.h>
    #include <ti/ipc/HeapBufMP.h>
    #include <ti/ipc/MultiProc.h>
    #include <ti/ipc/SharedRegion.h>

    Now,you can invoke any API of these modules in your application.

     

  • Hi Allen,

    Sorry for the delay. There were pending issues in the office so I was not able to revert back earlier.

    Thanks for the help all the individual modules are building perfectly.

    However II am not able to load individual modules through Code composer studio.

    The moment I launch an application It gets downloaded to all the cores.

    Is there a workaround or I  definitely need to use map-tool.

    The map tool documentation refers to an exe file. can the out file generated by the CCS be used as the exe file.

    Given the fact that I have 8 .out files can you give me an example as to how I can  load the individual files to individual cores/

    Can I make a  Custom Lauch file which does this job ?

     

    Regards

    Arvind

  • Hi Arvind,

    I'm not very clear about your description. In my opinion, map-tool is used for bootloader, but it seems you need to solve the issue of program load.

    If you setup a Target Configuration File, you can see the ccxml file through View->Target Configurations. Then you could first launch the ccxml file. 

    Then there will show all cores in Debug window, now you can load the .out to any core individually.

     

    Allen

  • Hi,

    I was able to open the target configuration file and load an individual processor.

     

    However I want to load eight different images onto eight cores.

     

    I specified different gel files generated by the differnt projects  for different cores.

     

    however only 1 .out file gets downloaded on all cores.

     

    That is the Problem.

     

    Regards

    Arvind

     

     

     

     

     

     

  • Hi Arvind,

    There maybe a reason, open the Debug Configuration within the submenu of Debug button,select the ccxml you are using, Then get into the 'Program' sheet in the right side,check for the program blank, is there any .out file specified? If yes, when you launch the ccxml, the program will be loaded into all cores.

    The another way to find out issue is to make the screenshot of what's happen in your side.

    Allen

  •  

    Hi Allen,

    I am having 8 applications to be launced on 8 processors.

    See the screen shots.

     

     

     

     

     

     

     

     

     

     

    I want to undersstand how to make this target configuration file.

     

    Regards

    Arvind

  • Hi Arvind,

    What's board are you using? TMDXEVM6678L?

    If so, I suggest you to choose this gel: C:\Texas Instruments\ccsv5\ccs_base_5.0.3.00023\emulation\boards\evmc6678l\gel\evmc6678l.gel instead of the generated one.

     

    Allen

  • Hi Allen,

    I am using  TDMXEVM6678L.

    However the specified gel file only permits me to load 1 core. How can I specify using the target configuration file to populate

    all the eight cores with differnt .out files  one at  a time ? If I populate only 1 core ,the next time it asks me to terminate the current debug session .

     

    Regards

    Arvind

  •  

    Aravind,

    You can do it in the .ccxml file.

    As Allen mentioned above, you can specify the program (.out) to be loaded on each core, by using the 'Debug Configuration' and then look at the 'Program' Tab. Select one core at a time, under 'main' tab and then select the program to load, in the 'program' tab. 

    One more suggestion, under the 'Target 'tab, as per your need, configure the 'Launch options' and 'Auto Run options'.

    One option is : When you launch your debug configuration, you can choose to connect the target, which run the gel file - on connect, followed by load of the program files too.

    I am attaching a snapshots. Hope this helps.

     

     

     

  • Hi Varada,

     

    Thanks for the timely help,I was able to succesfully load all the cores . I am enclosing the screenshots for all others who might have a similar problem.

     

    I would also like to sincerely thank Allen for this.

     

     

     

     

    Regards

    Arvind

  • Arvind - Thanks for the update and screenshots.

    Allen - Thanks to you too.