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.

TDA4VH-Q1: DRU Indirect Addressing

Part Number: TDA4VH-Q1

Tool/software:

Hello experts,

regarding TRM of J84S4, chapter 10.1.2.3.4.8, DRU supports indirect addressing for source and destination address (ISA and IDA).

I tried to use this feature but it seems that only direct addresses are supported. Setting IDA, ISA has no effect.
Are there any other restrictions which are not mentioned inside the TRM?

Is there any example available somewhere which is demonstrating this feature? I found nothing inside Processor-SDK.

best regrads,

Alex

  • Hi Alex,

    We have some examples in the RTOS PSDK under ti/drv/udma/examples/. 

    Regards,

    Takuma

  • Hi Takuma,

    I´m sorry for not being presize enough, I`ve found a lot of DMA examples inside pdk and app_utls, and as I see, all of them using direct addressing (UDMA_TR_FLAGS_SA_INDIRECT = 0)..
    But I would like to ask for examples or more explanation about indirect addressing (UDMA_TR_FLAGS_DA_INDIRECT  or UDMA_TR_FLAGS_SA_INDIRECT = 1).

    Regards,
    Alex

  • Hi Alex,

    Unfortunately, I also could not find any examples that use indirect addressing. I can forward this question to others on my team, but is there a particular usecase that you have in mind that requires indirect addressing as opposed to direct addressing?

    Regards,

    Takuma

  • Hi Takuma,

    I have to move 3-dimensional data-blocks with regular constant shape, but non-regular source-/ destination address from DDR into L2 and back.

    Currently I´m doing this using API from app_utils,  appUdmaCopyNDInit(), appUdmaCopyNDTrigger() a.s.o. for each block.
    I observed that appUdmaCopyNDInit() is consuming a non-neglectable amount of cycles, so I´m searching for a faster solution.

    My idea is to keep the DRU channel config static, just modifing the address and re-trigger the channel. Is this possible?

    If yes, which kind of address are expected? Physical or virtual? Are the any restrictions of the indirect addresses?

    Regards,
    Alex

  • Hi Alex,

    My idea is to keep the DRU channel config static, just modifing the address and re-trigger the channel. Is this possible?

    What address are we talking about here? You would have to resubmit the descriptor anyway, so I am not sure what optimization you are thinking is possible here.

    regards

    Suman