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.

Compiler/PROCESSOR-SDK-DRA8X-TDA4X: c7x l2RAM baseaddress

Part Number: PROCESSOR-SDK-DRA8X-TDA4X


Tool/software: TI C/C++ Compiler

Hi  :

          in     pdk\packages\ti\drv\udma\examples\udma_apputils\udma_apputils      Udma_appVirtToPhyFxn    turn   C66  L2RAM   virt  to  phy    but   have   about   C7X   L2   RAM

i    donot  how   to     turn   C7x   L2RAM   virt  to  phy. 

        i    have   found   CSL_C66SS1_C66_SDMA_L2SRAM_0_BASE    and CSL_C66SS0_C66_SDMA_L2SRAM_0_BASE   in  cslr_soc_baseaddress     but    i  cannot   found   baseaddress   of  C7X

        as    i  am    use  udma   copy   data   from   DDR   to  L2RAM    on  C7X  core      i  have   to  turn   the   virt  to  phy.

Thanks

Shuai

  • Hi Shuai,

    Why can't we directly use system address of the L2RAM? I believe this should be possible to directly use system address..

    Rgds,

    Brijesh 

  • Hi  :Brijesh

         

    1. i   close   ENABLE_IPC      as    i   test    use   JTAG  on   single  core    C66  or   C7X.

          2. in      vision_apps\apps\basic_demos\app_tirtos\tirtos_linux\c7x_1\main     func  appMain     i   call       appUdmaTest();  after   appInit();  

              in    c66   the  same.

         3. i   load   psdk_rtos_auto_j7_06_01_01_12/vision_apps/out/J7/C71/SYSBIOS/debug/vx_app_tirtos_linux_c7x_1.out     to  c7x  core  by  JTAG   and  run.

           by   this   step    i  have      appUdmaTest2DCopy   succeed  run   on     C66  and  c7x  ,   but   in   appUdmaTest2DCopy    copy   data   from   DDR  to  DDR  by   UDMA.    so  i   try   to   copy   data  from   ddr   to   L2RAM  .

    i    change    code       

    dest_buf = appMemAlloc(APP_MEM_HEAP_L2, size, UDMA_CACHELINE_ALIGNMENT);

    prms_2d.dest_addr = appMemGetVirt2PhyBufPtr((uint64_t)dest_buf, APP_MEM_HEAP_L2);

    but   it   failed   both   on  c66  and  c7x   core     ,appUdmaCopy2D   return  -1   .

    i  found   it  is  appMemGetVirt2PhyBufPtr   do  noting .  so  i   use  CSL_C66SS1_C66_SDMA_L2SRAM_0_BASE    and CSL_C66SS0_C66_SDMA_L2SRAM_0_BASE   done    appMemGetVirt2PhyBufPtr     now    copy   data   from  DDR  to  L2ram   is  ok .

        if ((phyAddr >= C66_COREPAC_0_L2_BASE) &&
            (phyAddr < (C66_COREPAC_0_L2_BASE + C66_COREPAC_0_L2_SIZE)))
        {
            phyAddr -= C66_COREPAC_0_L2_BASE;
            phyAddr += C66SS0_C66_SDMA_L2SRAM_0_BASE;
        }

    i     try  to   do  the  same   on c7x   so    i  find   baseaddress   of  C7X

    Thanks

    Shuai

  • Hi Shuai,

    Can you please check if L2 location is mapped correctly in MMU?

    Regards,

    Brijesh

  • Hi :Brijesh

          dest_buf = appMemAlloc(APP_MEM_HEAP_L2, size, UDMA_CACHELINE_ALIGNMENT);

            prms_2d.dest_addr = appMemGetVirt2PhyBufPtr((uint64_t)dest_buf, APP_MEM_HEAP_L2);

            here    dest_buf =  0x64800000;

            prms_2d.dest_addr =1686110208;

    Thanks!

    Shuai

       

  • Hi Shuai,

    Are you still facing this issue? If not, can we close this thread?

    Rgds,

    Brijesh