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.
Hi TI,
Where can I find documentation/code examples regarding this ?
using SDK -> ti-processor-sdk-rtos-j784s4-evm-08_06_00_14
Found some UDMA examples in /pdk_j784s4_08_06_00_31/packages/ti/drv/udma/examples.
but could not find anything related to "NVM to DDR" transfer.
regards,
Lalit
Lalit,
My understanding is that the PCIE bus address space can be memory mapped to the system address space.
Is this the missing link you are looking for? In other words, if you knew how to map the PCIE bus address space to the system address space, would you understand what is required to perform the UDMA transfer from PCIE to DDR?
Regards,
Kevin
Hi Kevin,
Thanks for replying and sorry for my delayed response.
Ok, So if we can map the PCIE bus address space to system memory, will it be like a simple memcpy() UDMA from mapped address to/from any DDR address?
And also can you guide me how can I map the PCIe bus address space to DDR. Is it documented somewhere ?
Thanks,
Lalit
Lalit,
I'll have the ticket re-assigned to someone more knowledgeable about PCIE.
Regards,
Kevin
Hi Kevin and Lalit,
I would recommend looking through this documentation's section "3 PCIe Address Translation": https://www.ti.com/lit/an/sprabk8/sprabk8.pdf. Documentation is not specific to TDA4VM, but a more generic Keystone documentation. However, TDA4VM is a Keystone3 device so the general flow should be similar for how to use the ATU (Address Translation Unit).
What to be careful for when referencing this documentation is specific memory address, for example, the documentation mentions 0x6000_0000 as the start of PCIe data space, but for TDA4VM PCIE0_DAT0 starts from 0x10000000, so for any address related information, the TRM (Technical Reference Manual) for the respective device should be cross-referenced.
Additionally, the examples in the documentation for how to set up DMA transactions use EDMA, but similar transactions should be possible with UDMA. We have another guide for migrating EDMA to UDMA that can be referenced for this purpose: https://software-dl.ti.com/processor-sdk-sitara/esd/am64x/latest/exports/docs/rtos/pdk_am64x/packages/ti/drv/udma/docs/Migrating_Applications_from_EDMA_to_UDMA_using_TI-RTOS.pdf
Regards,
Takuma