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 Help

Other Parts Discussed in Thread: OMAPL138

Hello all,

I am using CCSv5, spectrum digital xds560v2 jtag emulator and evmomapl138. I am tring to run the IPC examples. I've tried both on the ARM and DSP but am encountering some difficulties.

The program keeps running but the notify is never successful.

I think the problem is that I'm only loading the ARM executable when its for the ARM or the DSP .out when I have set DSP as a target. I found some documentation on the "read me" file in the IPC examples but am confused.

How to run example
------------------
1. Load and run the arm image on arm first.
   image: ti_sdo_ipc_examples_platforms_evmOMAPL138_arm\debug\notify_arm.xe9
  
2. After the arm image has reached main(), load and run the dsp image
   on the dsp:
   image: ti_sdo_ipc_examples_platforms_evmOMAPL138_dsp\debug\notify_dsp.x674
 
3. Communication start to go around in circles (arm -> dsp -> arm -> dsp...)
   Where in the notify example, communication is the notify events. In the
   message example, it is MessageQ messages.

Note: arm must be run first because it initializes the shared
      memory to zero.  It also must be ran because arm must reach main()
      before dsp can be loaded and run.

It says how to load the ARM executable but how and where should I load the DSP executable for it to work. Please provide any guidance.

Thank you,

Michelle

  • Michelle,

    It sounds like you used CCS to load the ARM and then run it to main. You would use the same procedure for the DSP. Maybe your CCS configuration does not contain both cores? When you create the CCS configuration, be sure to select OMAPL138. In the description box, you should see "OMAPL138 - ARM9 and C674x Floating point DSP with PRU". In the Debug window, select the entry which ends with "C674X_0", then connect, load, and run to main just as you did for the ARM.

    Once you get that far, select both ARM9_0 and C674X_0 (CTRL+click) and group them together (RMB > Group cores). Now you can select the group and run/pause them both at the same time.

    ~Ramsey

  • Hi Ramsey,

    Thank you for your reply. I have a question though, you say:

    Ramsey said:
    You would use the same procedure for the DSP. Maybe your CCS configuration does not contain both cores?
    I created the target configuration using the evmomapl138 since i'm using logic pd's evm, but I can see in the device properties: OMAPL138 - ARM9 and C674x Floating point DSP. The reason why i cannot load the DSP and then run it to main when I have already loaded the ARM and its in main, or vice versa, is because when I creted the example I choose a family for the device (ARM or C600) and when I try to load the program into the DSP, for instance, I get the error message that it doesn't match the target; which makes sense because I chose the ARM as the device family. Any suggestions?

    Thanks,

    Michelle

  • Michelle,

    In CCS, each project can build for only one architecture. You need to create two projects, one for the ARM and one for the DSP. When creating the new project, select the appropriate architecture first, but select the same device for both projects. Then you should be able to load each executable on its respective processor.

    ~Ramsey