Hello,
I'm using EZSDK 5.04.00.11 and C6Run 0.98.03.03 on DM8168. I want some part of my code to be executed on DSP core. I need to get physically contiguous buffers so I use CMEM to allocate them. Test code:
CMEM_AllocParams params;
params.type = CMEM_HEAP;
params.flags = CMEM_NONCACHED;
params.alignment = 8;
unsigned char *buffer;
CMEM_init();
buffer = (unsigned char*)CMEM_alloc(BUFFERSIZE, ¶ms);
// this function is executed on DSP
process(buffer);
Here how I compile
arm-none-linux-gnueabi-gcc -I/home/slyusarenko/TI/ezsdk/component-sources/linuxutils_3_22_00_02/packages/ti/sdo/linuxutils/cmem/include -c main.c -march=armv7-a -o main.o
c6runlib-cc -c process.c -o process.o
c6runlib-ar rcs process.lib process.o
arm-none-linux-gnueabi-gcc -lpthread main.o process.lib -o myapp
I get following error:
CMEMK Error: ioctl: failed to allocate heap buffer of size 0x35000000
CMEM Error: allocHeap: ioctl CMEM_IOCALLOCHEAPCACHED failed: -1
CMEM_alloc() failed!
Failed to open or create temp.dsp.
C6RUN_IPC_create() failed!
How can I solve this problem?
Regards,
Sergey.