Hi all
I am very happy to get the explanation of a strange phenomenon described below.
I allocate a continuous memory using "Memory_contiAlloc' on ARM side and the start Physical Address is 0x83a97000 on CMEM segment.
When I use this memory buffer on DSP side, the start physical address become 0x8734cb0 on DDRALGHEAP segment. What happened?
Relevant code
>>>ARM>>>
#defined DEC_SIZE (1024*768*4*sizeof(char))
Memory_AllocParams allocParams;
allocParams.type = Memory_CONTIGPOOL;
allocParams.flags = Memory_NONCACHED;
allocParams.align = Memory_DEFAULTALIGNMENT;
allocParams.seg = 0;
static char *outBuf = Memory_alloc(DEC_SIZE, &allocParams);
XDM_BufDesc outBufDesc;
outBufDesc.numBufs = 1;
outBufDesc.bufs = (XDAS_Int8 *) &outBuf;
outBufDesc.bufSizes = DEC_SIZE;
IMGDEC_process(decHandle, &encodedBufDesc, &outBufdesc, &decoderInArfs, &decoderOutArgs);
//outBufDesc.bufs[0] points to 0x83a97000(Physical Address).
>>>DSP>>>
XDAS_Int32 IMGDECCOPY_TI_process(..., XDM_BufDesc *outBufs, ...){
...
GT_2trace(curTrace, GT_ENTER, "IMGDECCOPY_TI_process, buf address (0x%lx)\n", outBufs->buf[0]);
//outBufs->bufs[0] point to 0x8734cb0 (Physical Address).
...
}
<<<END<<<
Best regards,
Danfeng Lu