status=check_data(MAX_PKT_LEN,TEST_START_VALUE);if(status!=XST_SUCCESS){xil_printf("Data check failed\r\n");goto Done;}xil_printf("Successfully ran AXI DMA Loop\r\n");//取消中断disable_intr_system(&intc,TX_INTR_ID,RX_INTR_ID);Done:xil_printf("--- Exiting main() --- \r\n"...
DMA_Intr_Init(&AxiDma,0);//initial interrupt system Init_Intr_System(&Intc);// initial DMA interrupt system Setup_Intr_Exception(&Intc); DMA_Setup_Intr_System(&Intc,&AxiDma,TX_INTR_ID,RX_INTR_ID);//setupdmainterrptsystem DMA_Intr_Enable(&Intc,&AxiDma); } 为了发送的数据是已知是确定...
DMA_Setup_Intr_System(&Intc,&AxiDma,TX_INTR_ID,RX_INTR_ID); //注册中断函数,最后2个参数是中断号 DMA_Intr_Enable(&Intc,&AxiDma); 就是启动DMA传输 表1-3-2-1 init_intr_sys函数 intinit_intr_sys(void) { DMA_Intr_Init(&AxiDma,0);//initial interrupt system Init_Intr_System(&Intc);...
三、SDK 官方demo解析 首先分析下官方的demo。 xaxidma_example_simple_intr.c 主函数中依次完成了:DMA初始化,建立中断系统,使能DMA中断,初始化标志位及发送数据,启动DMA传输以及数据检测。中断部分的内容与PS DMA非常相近,传输完成后进入的中断函数中仅置位了发送或接收完成标志位: intrHandler DMA启动传输部分如下...
二、AXI DMA Loop IP子系统 在利用ZYNQ搭建系统时,经常需要利用各种IP核做所谓的“计算加速”,将重复性高 计算量大 占用较大CPU资源的底层处理交给各个IP核完成。这时PS ->DMA ->PL -> DMA -> PS的环路架构非常适用。这里使用AXI Stream Data FIFO代替自定义IP核作为演示,硬件IP子系统如下: ...
所以以下语句就很容易理解了: // DMA接收通道的中断ID #define RX_INTR_ID XPAR_FABRIC_AXIDMA_0_S2MM_INTROUT_VEC_ID #define TX_INTR_ID XPAR_FABRIC_AXIDMA_0_MM2S_INTROUT_VEC_ID 下一期预告:AXI_DMA_LOOP架构与SDK代码分析
S03_CH01_AXI_DMA_LOOP 环路测试 1.1概述 本课程是本季课程里面最简单,也是后面DMA课程的基础,读者务必认真先阅读和学习。 本课程的设计原理分析。 本课程是设计一个最基本的DMA环路,实现DMA的环路测试,在SDK里面发送数据到DMA然后DMA在把数据发回到DDR里面,SDK读取内存地址里面的数据,对比接收的数据是否和发送...
二、AXI DMA Loop IP子系统 在利用ZYNQ搭建系统时,经常需要利用各种IP核做所谓的“计算加速”,将重复性高 计算量大 占用较大CPU资源的底层处理交给各个IP核完成。这时PS ->DMA ->PL -> DMA -> PS的环路架构非常适用。这里使用AXI Stream Data FIFO代替自定义IP核作为演示,硬件IP子系统如下: ...
至此,就完成了工程架构的搭建。后面的操作过程是Validate Design->Gerate Out products->Create wrappers-> Generate Bitstream ,产生完成后导出硬件,加载SDK。 21.4 PS部分软件分析 21.4.1新建SDK工程 Step1:新建一个名为AXI_DMA_Test的空的软件工程 Step2:将提供例程中SDK工程的源文件复制,并粘贴到新建SDK工程,软...
二、AXI DMA Loop IP子系统 在利用ZYNQ搭建系统时,经常需要利用各种IP核做所谓的“计算加速”,将重复性高 计算量大 占用较大CPU资源的底层处理交给各个IP核完成。这时PS ->DMA ->PL -> DMA -> PS的环路架构非常适用。这里使用AXI Stream Data FIFO代替自定义IP核作为演示,硬件IP子系统如下: 三、SDK 官方de...