heap management

What is the ideal method of handing allocating buffers for DMA that has special requirements such as memory alignment and/or contiguous data vs allocating memory via pvPortMalloc(). And what needing to allocate these memory aligned buffers but passing them among tasks, etc.

heap management

I tend to statically preallocate such buffers , with the apprpriate implementation specific commands to force them to be correct, if they need an alignment stronger than malloc (actually, often even in malloc could provide the buffer, remember, once you go to malloc, you need to program to handle the case that malloc returns a no-memory available error). You might create a small pool of these buffers if you have need to use them for a number of different devices and know you won’t need a dedicated one for every device.