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.

How to share memory from arm side (HLOS) to RTOS side



Hi all,

I am trying to run notify sample example of syslink. I want to see the code flow by inserting the logs on both HLOS and RTOS side.

I thought to dump some values as logs to the shared memory area  on RTOS side.

previously I used DSP/Bridge , there I used some API's on ARM side  to reserve,map the DSP memory and send that through DSPNode_PutMessage API.

Now i am trying to do same thing using syslink. How to send shared memory to RTOS side from HLOS side?

Thanks in advance.

  • SysLink contains a module named SharedRegion that is used to create and manage memory areas that are to be shared between the ARM and DSP-subsystem processors.  SharedRegion memory can be used for allocating MessageQ messages with which you can communicate other SharedRegion information.  The SysLink documentation contains detailed usage help for these and all SysLink modules, and the SysLink product also contains many samples for illustrating such usage.

    Regards,

    - Rob

  • Thank u

    -Vaishnavi

  • Hi Robert,

    I've been following this thread. How does CMEMK work with SharedRegion? I know that CMEMK allocates contiguous blocks of physical memory to the ARM that can then be used with the DSP but I am struggling to understand how the DSP gets information on where that memory is.

    Thanks,
    Ralph

  • CMEMK is not related to SharedRegion.  It predates SharedRegion by many years.

    The DSP gets information about CMEM buffers by way of Codec Engine's VISA APIs.  Since only the host processor can allocate/free from CMEM, the host performs the allocation and fills in a data structure with the physical address of the CMEM buffer(s), then sends this data structure across to the DSP, and the DSP then accesses the CMEM buffers by way of the physical address passed in the message.

    That's how it's done in Codec Engine, but in general the DSP needs to receive the physical address of the buffer through some IPC mechanism.

    Regards,

    - Rob

  • Hi Rob, thanks for that useful description. You seem to be quite up on DSP/GPP stuff; would you be able to point me in the direction of any documents regarding the allocation of memory to the HDVICPs via the Media Controller using DOMX? I did a Google search of ti.com and only found 29 web pages, none of them very useful!

    Regards,

    Ralph

  • _Ralph_ said:

    Hi Rob, thanks for that useful description. You seem to be quite up on DSP/GPP stuff; would you be able to point me in the direction of any documents regarding the allocation of memory to the HDVICPs via the Media Controller using DOMX? I did a Google search of ti.com and only found 29 web pages, none of them very useful!

    Ralph,

    I'm not knowledgable on the DOMX/Media Controller/HDVICP, those components are higher-level than what I work on or know about.  My area is the software below/under those components.  I'm sure that one of the other Forums would be better for an answer (but not sure which one).  My apologies.

    Regards,

    - Rob

  • No problem, I'll have a hunt around the other forums and see what happens.

    Thanks,
    Ralph