AnsweredAssumed Answered

What is the address of CPMEM ?

Question asked by Klaus Guertler on May 31, 2013
Latest reply on Jun 6, 2013 by Klaus Guertler

Hallo,
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.

Klaus

Outcomes