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.

ARM processing, Memory_alloc and cache

Hi,

I Am currently doing all my processing on the DSP side. I work with buffer allocated with Memory_contigAlloc and everything is fine so far.

Now I would like to do some processing on the ARM side before using the DSP. However, if I want to have decent performance, the allocated memory needs to be cacheable on the ARM side. can I do the following :

Memory_allocParams cachedParams = {
    Memory_contigPool,
    Memory_CACHED,
    128,
    0, 
};

ptr = Memory_alloc(size, &cachedParams);
/* work on buffer on ARM */
...
Memory_cacheWbInv(ptr, size);
/* put buffer in an inBufDesc and call some visa alg through codec engine */

Is it Ok to do this, or should I stick with Memory_contigAlloc which allocates uncached memory, and
is therefore unusable for ARM processing ?

If DSP requires uncached memory, is it possible to  call SDMA on ARM side to copy between two buffer allocated with Memory_alloc, one being cached and the other non cached ?

Bonus Question : you have points, tags, and verified answers, why are you not switching to a stackOverflow based engine ? Posting code is a painful experience currently.