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.

arm-dsp communication in OMAPL138

Other Parts Discussed in Thread: OMAPL138

Hi

I need to do a simple data transfer from arm core to dsp core..

I am trying to write a arm side application that will write a data in shared memory and interrupts the dsp...and the dsp side application will receive the interrupt and read the data from same memory..

How can i load the dsp side application that runs in dsp core while the arm core has u-boot / Linux running on it..?

Thanks,

Karthika

  • Karthika:

        syslink_2_10_06_28 comes with several examples.

       See syslink_2_10_06_28/examples/readme.txt:    There is a messageQ example in syslink_2_10_06_28/examples/archive/ti_platforms_evmOMAPL138_coff_linux/ex02_messageq which shows how to use MessageQ and Notify for communication.

        There are also simpler samples in:  packages/ti/syslink/samples/.

        The MessageQ and SharedRegion samples may have elements of what you're looking for.

        An overview of the various modules is here: http://processors.wiki.ti.com/index.php/SysLink_UserGuide

        If you have small amounts of data, you can pass them back and forth using MessageQ and a shared Heap.  Or, if you have large buffers, you could embed a pointer to a SharedRegion in the message.

      See this forum thread also, which gave advice on a similar question:  http://e2e.ti.com/support/embedded/linux/f/354/t/198126.aspx

    Gil

       

  • Gil,

    I am not going with syslink / dsplink.

    As mentioned in section 11.4 of omapl138 technical reference manual, From the arm I am trying to

    load the dsp executable
    write a data in the shared memory and interrupt the dsp.
    The dsp reads the data and interrupts the arm.

    Following the steps in section 13.2 DSP Wake Up.I loaded the dsp side blinking led example in 0x80010000, wrote the address in HOST1CFG register and did the dsp wakeup procedure .But I cant see the dsp executable running..

    I have tried to disable,reset the dsp and repeated the steps.

    But I cannot load and wake up the dsp from the arm.

    Can you help in this?

    Thanks,

    Karthika

  • Hi Karthika:

         I had gathered from this recent thread that you were using syslink:  http://e2e.ti.com/support/embedded/linux/f/354/p/205192/728420.aspx#728420

         However, given you *do* have syslink_2_10_06_28/ installed, you could look at how syslink boots the DSP.

         See packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/omapl1xx_hal.c, OMAPL1XXPROC_start() function.

         Alternatively, if you're trying to do the loading from u-boot, you could take a look at how dspboot command works on the MityDSP-L138 u-boot (based on OMAPL138).    I don't know much about the u-boot myself, but this link mentions this feature:   http://support.criticallink.com/redmine/projects/5/wiki/Das_U-Boot_Port

        Also, ensure the boot vector you're plugging is on a 1K boundary (which it is if it's also 0x80010000) .

     - Gil