9 Replies Latest reply on Oct 11, 2019 12:19 AM by YaLe_3489106

    Access DMA internat registers


      I'm using a DMA to receive data from an UART and store them to RAM. It works correctly. I need to use the preserveTds option. At a given time, I'd like to know how many bytes are received. To know that, I'd like to know where (the address in RAM) the DMA destination pointer points.


      The CyDmaTdGetAddress function returns the adresse of the original (preserved) TD, not the intermediate one.


      I see in the CyDma.c file, in the CyDmaChEnable function, a comment saying:


      Store intermediate TD states separately in CHn_SEP_TD0/1 to preserve original TD chain


      I guess the information I'm looking for is in this intermediate TD state. So my question is: is there a way to access those registers to know the current addresse where the destination pointer points?