Hello,
my application uses DSPLINK to send messages from ARM to DSP and from DSP to ARM. Both cores can initiate
a communication. I use MSGQ and it works. My problem is that i have to transfer some messages with zero data
and messages with a payload up to kilobytes and megabytes of data. A MSGQ message is limited to 64k. So i tried to combine it.
I want to be able to send a message via MSGQ with a pointer and size entry of the memory allocated in POOL which
contains the payload data.
I think, the ARM call of POOL_alloc() has a 32Bit size parameter. But what is with the DSP implementation of POOL_alloc?
I found some examples without input parameter like POOL_alloc(void); Where is the information about the size? No malloc
function can work without the mem size to be allocated.
The document LNK 082 DES contains a prototype:
DSP_STATUS POOL_alloc (Uint16 poolId, Uint16 size, Pvoid * bufPtr) ;
Here i have the 64k problem again.
The writer of the message should call MSGQ_alloc() and POOL_alloc(), the reader of the message should call MSGQ_free() and
POOL_free(). DSP and GPP can be reader or writer.
What can i do ta avoid working with static buffers? I have the need to create a dynamic relation between the message and the
payload data.
regards,
Volker