Hi,
I am trying to use IDMA Channel 1 for the data transfer between L2 SRAM and L1 SRAM in Keystone 2 project. Sometimes I see that the time taken by IDMA is more than that of memcpy() function or even the manual copy using for loops. Is there any reason behind this? The IDMA config function is inlined and and it writes 16bytes into configuration registers. The memcpy() function involves few stack operations which should compensate for the IDMA config cost. How the memcpy() is implemented internally? Does it use IDMA internally? I am using -O3 level of optimization and my stack is in L2 SRAM.
Thanks
- Gopal