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/TDA2: On-Chip Shared Memory (RAM) 512KB

Part Number: TDA2

Tool/software: Linux

i     am   useing   tda2 evm   , 

i  am  run  a  cnn  on  c66   ,  how  can  i  use  On-Chip Shared Memory (RAM)

pMemMgr_FR.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL, L2SRAM_SIZE, 32);     by  this way    pMemMgr_FR.L2.pMem  is  get  from  On-Chip Shared Memory?

thanks

shuai

  • Hi,

    Please use UTILS_HEAPID_OCMC_SR instead of UTILS_HEAPID_L2_LOCAL.

    Regards,
    Anuj
  • Hi Anuj
    UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter?
    omapconf show opp not show clock of them.
    Regards,
    shuai
  • Hi Anuj
    Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, FR_MODEL_SIZE, 32);
    is get mem from LP-DDR2 ?
    Regards,
    shuai
  • Hi,

    Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, FR_MODEL_SIZE, 32);
    is get mem from LP-DDR2 ?

    It is from DDR3.

    UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter?

    UTILS_HEAPID_OCMC_SR is faster.

    Regards,
    Anuj
  • Hi Anuj
    pMemMgr.L2.pMem = Utils_memAlloc(UTILS_HEAPID_OCMC_SR,L2SRAM_SIZE,32);
    is failed pMemMgr.L2.pMem=null
    L2SRAM_SIZE =32*1024;
    the code is used at sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c\Alg_FrameCopy_Create
    pMemMgr.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL,L2SRAM_SIZE,32); is ok!
    Regards,
    shuai
  • Hi,

    Can you please check the vlue of all member variable of the below structure.
    gUtils_memHeapObj[2].

    Regards,
    Anuj
  • Hi Anuj
    you mean Vps_printf("gUtils_memHeapObj[0]=%d,gUtils_memHeapObj[1]=%d \n" gUtils_memHeapObj[0],gUtils_memHeapObj[1]); ?
    where should i add this code ?
    Regards,
    shuai
  • Hi Anuj
    UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter?
    Regards,
    shuai
  • Hi,

    I have already told in previous post that OCMC is faster.
    But allocating memory from that region is not supported.
    So you can find the ocmc address from the TRM and use that address directly as your buffer pointer.

    Regards,
    Anuj
  • HI Anuj
    OCMC_RAM1 0x4030_0000 0x4037_FFFF 512KiB 32bit Ex

    OCMC_RAM2 0x4040_0000 0x404F_FFFF 1MiB 32bit Ex

    OCMC_RAM3 0x4050_0000 0x405F_FFFF 1MiB 32bit

    SO I can use 0x4030_0000 address as ocmc buf ,

    Regards,
    Anuj
  • HI Anuj
    sorry i donot know how to do , could you help me .
    Regards,
    shuai
  • Hi,

    pMemMgr.L2.pMem = 0x40300000;
    And then use it.

    Regards,
    Anuj
  • HI Anuj
    ocmc_buf=0x4030_0000 is failed i cannot EMDA data to that buf.
    Regards,
    shuai
  • Hi,

    I did not understand your problem.

    Can you explain in detail.

    Regards,

    Anuj

  • HI Anuj
    pMemMgr.L2.pMem = 0x40300000;
    then i use EDMA copy data from ddr to pMemMgr.L2.pMem, it have some crash , DSP core is crash.
    i use pMemMgr_FR.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL, L2SRAM_SIZE, 32); program run normal.
    so hoe can i use ocmc .
    Regards,
    shuai
  • HI Anuj
    follow is the log
    [HOST] [HOST ] 0: Stop Chain
    [HOST] [HOST ]
    [HOST] [HOST ] p: Print Performance Statistics
    [HOST] [HOST ]
    [HOST] [HOST ] Enter Choice:
    [HOST] [HOST ]
    [HOST] [EVE3 ] 81.621362 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
    [HOST] [EVE3 ] 81.621667 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB)
    [HOST] [EVE3 ] 81.622216 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254176 B (248 KB)
    [HOST] [EVE4 ] 81.623406 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
    [HOST] [EVE4 ] 81.623711 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB)
    [HOST] [EVE4 ] 81.624260 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254176 B (248 KB)
    [HOST] [IPU2 ] 81.625083 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
    [HOST] [IPU2 ] 81.625266 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 248552 B (242 KB)
    [HOST] [IPU2 ] 81.625419 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [HOST] [IPU2 ] 81.625571 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x84203000, Total size = 346030080 B (330 MB), Free size = 308248576 B (293 MB)
    [HOST] [IPU2 ] 81.625785 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xa0100000, Total size = 1045376 B (0 MB), Free size = 851840 B (0 MB)
    [HOST] [IPU2 ] 81.626242 s: DISPLAY: Start in progress !!!
    [HOST] [IPU2 ] 81.626303 s: DISPLAY: Start Done !!!
    ] omap-iommu 40d01000.mmu: iommu fault: da 0x3f000000 flags 0x0
    [ 75.236604] remoteproc1: crash detected in 40800000.dsp: type mmufault
    [ 75.243256] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0x3f000000 pgd:0xed13cfc0 *pgd:px00000000
    [ 75.253651] remoteproc1: handling crash #1 in 40800000.dsp
    [ 75.259300] remoteproc1: recovering 40800000.dsp
    [HO ST] [HOST ] 82.019154 s: SYSTEM: IPC: [DSP1] Notify recfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019185 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019185 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019246 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019246 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019337 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019337 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019398 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    [HOST] [HOST ] 82.019398 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!!
    Regards,
    shuai
  • Hi,

    Can you try with other OCMC(2&3) address.
    Please make sure no one is touching that ocmc address.

    Regards,
    Anuj
  • Hi,

    Its been long time since any update on this thread.
    Is the issue resolved?

    Regards,
    Anuj
  • Hi: Anuj
    I have thy OCMC(2&3) address ,also failed!
    Regards!
    Shuai
  • Hi,

    Instead of doing EDMA copy can you try with simple memcpy and share your observations?

    Regards,
    Anuj
  • Hi,

    Its been long since any update on this thread.
    I hope the issue is resolved.

    Regards,
    Anuj