Hi,
I am developing a new function to be ran in the DSP with the DaVinci Platform TMDXEVM8148. The function has two arrays of char and one of them is modified inside. I have seen that this array is modified but there are some elements (none contiguous elements and only a few of them) of the array that don't change. I have tested the algorithm in the ARM and it works excelent. I suppose that is a problem of memory management.
****In the main function (running in the ARM) I have defined the array and its memory like this:*********************
memParams.flags = Memory_CACHED;
memParams.type = Memory_CONTIGHEAP;
framesize = (o*p* sizeof(char));
pSrcBuf_16bpp = Memory_alloc(framesize, &memParams);
if (pSrcBuf_16bpp == NULL) {
goto end;
}
**** In the c6Accelw.c I defined the output buffer like this:*********************
CACHE_INV_OUTPUT_BUFFERS_AND_SETUP_FOR_C6ACCEL(ptr_Y,0,o*p*sizeof(unsigned char));
**** Finally at the function test_vector (defined by myself) *********************
int test_vector (unsigned char *restrict X,unsigned char *restrict Y)
I don't know which is the problem because I reserve the needed memory space. Can anybody helps me?
Thanks!