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.