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.

Use of Zero Copy Link Driver with DSP/BIOS Link

Hi TI,

First a bit of background, I am supporting a product that was developed using the OMAP5912 OSK as a reference design, and using the 2.4 series Linux kernel provided in the Montavista starter kit.

The code compilation is done on a Linux host machine, not using CCS.

I have ported DSP/BIOS Link v1.30.06 to work on a Linux 2.6.32 kernel, and the supplied samples run fine.

I am now finalising the port of our application, which used to use the shared memory processor copy link driver.

 

My question relates to how the buffers are set up for message queues that are local to the DSP when using the zero copy link driver.

Are all message queues setup with buffer pools on the GPP side only, as per the message example that comes with DSP/BIOS Link ?

Or is it still possible to have local DSP only message queues that do no need to pass messages across the DSP/GPP interface?

If this is the case, is there some sample code that demonstrates mixing GPP<->DSP message queues and DSP<->DSP message queues ?

 

Regards,

James

  • Hi James,

    Generally the GPP owns the buffer pools since it usually runs first. This allows the messages to be initialized. Note: the DSP can still allocate the message even though it did not initialize them

    Yes, you can have DSP-only message pools. You simply add another entry into the POOL_config. Since it is not travelling to the GPP, you can use a fast (and simple) pool implementation like STATICPOOL. Make sure one of these messages do not accidently get sent to the GPP since there is no multi-core protection with this pool.

    I do not know of any sample code that shows this use case.

    Todd