Here is soft for using DMA on NIOS2
void memcpy_my(int *where,int * from,int howmurch)
{
while ((IORD_ALTERA_AVALON_DMA_STATUS(WR_DMA_BASE) & ALTERA_AVALON_DMA_STATUS_BUSY_MSK));
IOWR_ALTERA_AVALON_DMA_CONTROL(WR_DMA_BASE,0);
IOWR_ALTERA_AVALON_DMA_STATUS(WR_DMA_BASE, 0);
IOWR_ALTERA_AVALON_DMA_LENGTH(WR_DMA_BASE, howmurch);
IOWR_ALTERA_AVALON_DMA_RADDRESS(WR_DMA_BASE, from);
IOWR_ALTERA_AVALON_DMA_WADDRESS(WR_DMA_BASE, where);
IOWR_ALTERA_AVALON_DMA_CONTROL(WR_DMA_BASE,ALTERA_AVALON_DMA_CONTROL_GO_MSK |
ALTERA_AVALON_DMA_CONTROL_BYTE_MSK|
ALTERA_AVALON_DMA_CONTROL_WEEN_MSK|
ALTERA_AVALON_DMA_CONTROL_LEEN_MSK);
while ((IORD_ALTERA_AVALON_DMA_STATUS(WR_DMA_BASE) & ALTERA_AVALON_DMA_STATUS_BUSY_MSK));# ifdef DEBUG
printf("\nDMA packet\nfrom 0x%x\nwhere - 0x%x\nhowmurch - %d",from,where,howmurch);
short status=0;# endif
}