This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux and OCMC memory



Hi,

I am starting the TDA2Px over Linux and using the OCMC RAM as shared RAM between IPU and DSP. This works fine but when I am trying to use OCMC RAM in the linker file as a storage for code or stack the subcores crashes. Here my files:

Linker file (shortened version):

MEMORY
{

    OCMC_RAM1 :  o = 0x40300000,  l = 0x00080000  /* 512kB L3 OCMC RAM1 */
    OCMC_RAM2 :  o = 0x40400000,  l = 0x00100000  /* 1MB L3 OCMC RAM2 */
    OCMC_RAM3 :  o = 0x40500000,  l = 0x00100000  /* 1MB L3 OCMC RAM3 */
    IRAM        :     o = 0x00000000 ,  l = 0x2000     /* 8 kB */
    SDRAM (AWX) :     o = 0x9E000000 ,  l = 0x100000   /* 1 MB */
}

.data -> SDRAM

.bss > SDRAM

.stack >  OCMC_RAM2

resource table (shortened version):

#define L3_OCMC_RAM2                         0x40400000
#define IPU1_OCMC_RAM2                     0x40400000
#define IPU1_OCMC_RAM2_SIZE               0x100000

   {
      TYPE_DEVMEM,
      IPU_OCMC_RAM2, L3_OCMC_RAM2,
      IPU_OCMC_RAM2_SIZE, 0, 0, "TEST_SHARED_MEMORY",
   },

dts:

    reserved_mem: reserved-memory {
        #address-cells = <2>;
        #size-cells = <2>;
        ranges;

        
        cmem_ocmc_test: cmem@40400000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x40400000 0x0 0x100000>;
            sram = <&ocmcram2>;
            no-map;
            status = "okay";
        };    
    };

Any ideas?

Thanks