Forum Discussion
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)