I write a test app running on Linux(A72), and I want to pass memory pointer to C66/C71 which running with RTOS, so I try to use the memory interface in <ti/cmem.h> to alloc memory and retrieve the physical address to send to RTOS.
`CMEM_init` call returns 0(success), but the call `CMEM_getNumBlocks` returns that there is 0 CMEM block.
And run follow code:
```
CMEM_AllocParams alloc_params;
alloc_params.type = CMEM_HEAP;
alloc_params.flags = CMEM_NONCACHED;
alloc_params.alignment = 1024;
uint32_t alloc_size = 4 * 1024;
int pool_id = CMEM_getPool(alloc_size);
printf(" * Pool id can alloc size %u: %d\n", alloc_size, pool_id);
void *vir_ptr = CMEM_alloc2(CMEM_CMABLOCKID, alloc_size, &alloc_params);
if (!vir_ptr) {
printf(" * Error: allocation of size %u failed.\n", alloc_size);
}
```
output some error messages:
```
CMEM Error: getPool: Failed to get a pool fitting a size 0x1000
* Pool id can alloc size 4096: -1
CMEM Error: allocHeap: ioctl CMEM_IOCALLOCHEAP failed: -1
* Error: allocation of size 4096 failed.
```
I try to re-config the cmem.ko by `modprobe cmemk pools=4x30000,2x500000 phys_start=0x0 phys_end=0x3000000`, but nothing happened, error message is the same as above.
So How could i do to alloc a memory buffer which could use to share data with C66/C71 running RTOS?
Thanks.