⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hello_led.c

📁 nios的dma操作。片上存储器间的数据传输
💻 C
字号:
#include <stdio.h>#include "system.h"#include "altera_avalon_pio_regs.h"//#inclede "altera_avalon_uart_regs.h"#include "alt_types.h"#include "altera_avalon_dma.h"#include "sys/alt_irq.h"void init_dma(void);  //0x02121000 0x01000000static void dma_interrupts(void* context,alt_u32 id){  alt_u32 div;  div=IORD(DMA_BASE,0X0);     if((div&0x1)!=0)  {    div=0;  }   }void delay(void);int main (void){  //FILE *uart=NULL;  unsigned int i;  unsigned char *tr_data,*wr_data;    tr_data=SDRAM_BASE;               //SDRAM_BASE 0x01000000  wr_data=ONCHIP_RAM_64_KBYTES_BASE;//ONCHIP_RAM_64_KBYTES_BASE 0x02100000  for(i=0;i<1024;i++)   *(wr_data+i)=i;   //for(i=0;i<1024;i++) //  *(tr_data+i)='e';   delay();     init_dma();  while(1)  {        /*i=IORD(DMA_BASE,0X0);       if((i&0x1)!=0)    {      i=0;    } */        } }void delay(void){  int i;  for(i=0;i<1000;i++);}void init_dma(void){  alt_u32 context=0;  IOWR(DMA_BASE,0X0,0X00); //STATUS        IOWR(DMA_BASE,0X6,0x0);//control    IOWR(DMA_BASE,0X1,ONCHIP_RAM_64_KBYTES_BASE);//读主控端开始地址  IOWR(DMA_BASE,0X2,(ONCHIP_RAM_64_KBYTES_BASE+1024));//写主控端开始地址  IOWR(DMA_BASE,0X3,1024);                      //0010011001  IOWR(DMA_BASE,0X6,0x099);//control   alt_irq_register(DMA_IRQ,context,dma_interrupts);    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -