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.

IPC HeapBufMP static creation example

Good day experts,

We are busy porting our own custom memory manager from DSP/BIOS to SYS/BIOS. In DSP/BIOS we used to create a number of heaps statically using the BUF module, with each heap containing a number of fixed-size buffers. All of the heaps were created in external memory.

In SYS/BIOS using IPC, I believe the equivalent or recommended module is  HeapBufMP. I am aware of the HeapBufMP documentation:

However, I cannot seem to find a good example of how to create the various heaps statically in the CFG script and then use it in the application code.

For the record, I am using the TMDSEVM6657LS platform.

Can someone please assist?

Thanks in advance!

  • ReinierC,

    I'm sorry, but the IPC 3.x heaps do not support static creation. They must be created dynamically at runtime.

    HeapBufMP is the IPC equivalent to SYS/BIOS HeapBuf. If you plan to allocate the buffer on one processor and then free the buffer on another processor, you would use HeapBufMP. However, if you always allocate and free the buffer on the same processor, then you can use the SYS/BIOS heap HeapBuf, which does support static creation. You can register the SYS/BIOS heap with MessageQ as long as you always alloc and free on the same processor and you have a zero-copy shared memory transport (e. g. TransportShm).

    ~Ramsey

  • Hi Ramsey,

    Thank you for your feedback.

    At the moment we are only going allocate/free the buffers on one processor, so I rather opted for SYS/BIOS HeapBuf and HeapMem, which allow static creation.