基于Nios II的DMA传输总结.docVIP

  • 10
  • 0
  • 约3.96千字
  • 约 5页
  • 2016-10-08 发布于江苏
  • 举报
基于Nios II的DMA传输总结.doc

最近练了一段时间的DMA传输,现做如下的总结,分享自己获得心得以及遇到的一些问题。 ??? 在系统运行时,当需要传输大量数据时,可以采用DMA的方式进行传输,以解脱出CPU来处理其他命令。 Nios II中的DMA传输有以下三种形式: 1、 存储器到存储器 这种情况下需要同时打开发送通道和接收通道,而且源地址和目标地址都是自增的。 tx = alt_dma_txchan_open(/dev/dma_0);//打开发送通道 dma_res = alt_dma_txchan_send(tx, tx_buf, 32, NULL, NULL); // tx_buf是源地址 rx = alt_dma_rxchan_open(/dev/dma_0);//打开接收通道 dma_res = alt_dma_rxchan_prepare(rx, rx_buf, 32, dma_done, NULL); // rx_buf是目标地址,dma_done()是DMA完成后被调用的回调函数。 2、 存储器到外设 这种情况下只要打开发送通道,而且源地址是自增的,目标地址是固定的。 tx = alt_dma_txchan_open(/dev/dma_0); // 打开发送通道 alt_dma_txchan_ioctl(tx, ALT_DMA_TX_ONLY_ON, (void *)dst_addr); //

文档评论(0)

1亿VIP精品文档

相关文档