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.

communication between dsp and arm

Hi,

Now, I used the dvr_rdk 4.0 for TI8168.

I have a question about the communication between dsp and arm.

I want to realize send/receive message(16 KBytes or 4 MBytes) from DSP to the more process of Linux on A8.

However, it only called the ipc/syslink init function on one process of Linux on A8, could you give me some advices?

Regards,

Tianxing

  • You need to use Codec Engine to do this (in my opinion).

  • Can you clarify that you want to send info from c674 to multiple processes on A8 ?

    Controlling mcfw links from multiple processes is tricky.It is simplest if you keep all interaction with links in a single process and then use some Linux inter process communication mechanism to forward msgs to other processes. If this is not possible you can check the following option but may face issues.

    Here are some things to keep in mind:

    1. Don't use mcfw APIs .Use only link APIs. McFW APIs use global variables to maintain state and cant be used in multi process scenario

    2.Do usecase create and Vsys_init from only 1 process.

    3. Do only Syslink_setup from the other process.

    4. To send msgs from c674 to multiple processes, create MessageQ with different names on each process. Then open MessageQ on c674 and send the msg to required process. Make sure you don't size the msgs as 16KB or 4KB if you are sending msgs often. This will result in large copy. Alloc from Sr0 and pass pointer similar to how it is done in ipcBitsOut link.