Hi,
I am working with TI8168 and EZSDK 5.03, I am trying to use EDMA for data transfers on capture-encode OMX A8 application, the problem is as follows:
I have a buffer declared on an A8 OMX file in the capture-encode example main.c, which gets a virtual address, the EDMA need a physical address in order to transfer data.
1. How can i translate the virtual address to address that can be used by the EDMA?
2. I am trying another approach which is to allocate the buffer in a physical address that i have read at the following post http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/164186.aspx where Tarakesh sais as follows:
You could do this:
Allocate buffers from shared region 2 in A8. Following is the code snippet
#include <ti/syslink/utils/IHeap.h>
#include <ti/ipc/SharedRegion.h>
IHeap_Handle heap;
heap = SharedRegion_getHeap(2);
Buffer1 = Memory_alloc (heap,MAX_BUF_SIZE, 128, NULL);
I am trying to do this myself but i get the following error message:
Assertion at Line no: 1081 in /home/gabi/z3/z3-netra/z3-netra-RPS-20120221/ezsdk
/component-sources/syslink_2_00_05_85/packages/ti/syslink/ipc/hlos/usr/SharedReg
ion.c: (id < SharedRegion_module->cfg.numEntries) : failed
Can anyone please help with that?
Thanks,
Gabi