I try to make a test programm (without Linux...) for IPU/CSI to get a picture from a camera (IPU2/CSI1 parallel interface) to memory via IDMA. At this, the question rise what the address for the CPMEM to configure the IDMA is? In reference manuale I found, that CPMEM is "Memory mapped" but I found no value for the address where CPMEM is situated and I also did not found a register to put in the address for CPMEM.
In "iMX6_Platform_SDK\sdk\include\mx6dq\ipu_reg_def.h" I found :
#define IPU_REGISTERS_OFFSET 0x00200000
#define IPU_MEMORY_OFFSET IPU_REGISTERS_OFFSET + 0x00100000
#define CPMEM_WORD0_DATA0_INT__ADDR IPU_MEMORY_OFFSET+0x0000000
From this, the address for the start of CPMEM in case of IPU2 is 0x02D00000.
When I try to read from this address or to write to this address I got an bus error exception (0x10). This happens both in UBOOT (md.l 0x02D0000 1)
and in my application which I load with JTAG (Lauterbach/TRACE32). So I have to assume that there is no memory or registers at this address?
Where are the values used in SDK for IPU_REGISTERS_OFFSET and IPU_MEMORY_OFFSET documented in datasheet or reference manual ?
How do I tell the IDMAC where the CPMEM with his configuration is ?
Thanks in advance for answers.