Forum Discussion
Altera_Forum
Honored Contributor
11 years agoLarge delay between DMA transactions
Hello , Does anybody know why there is a large delay between consecutive DMA transactions ( about 50 us ) ? I use Quartus 14.0 and Eclipse ARM-DS5 v.14.0 . Platform : SoCrates EBV board ...
Altera_Forum
Honored Contributor
11 years agoI would throw away the wrapper functions that setup the dma and access the dma registers through a minimal set of wrappers (that get inlined into your code).
You can speed up accesses to the dma hardware registers (and all other 'small io' registers) by: - Putting all the 'small io' below Avalon address 0x8000. - Defining a single C structure that matches the layout of the registers. - Using 'r0' as a global register variable that points to the structure. The compiler should then access all the io locations using an 'offset from r0'. (I've done this with gp, but not r0)