1.ZYNQ7000 pg021_axi_dma工作原理:
DMA通过请求描述符BD进行数据传输,描述定义如下:
所有的描述符空间是一个循环链表,根据数据的传输方向不同,分为S2MM和MM2S两个链表,存储结构如下:
2.寄存器空间:
3.AXI_DMA的配置流程:
1.准备好描述符空间
2. 写当前描述法寄存器
3.开启DMA运行能开关
4. 开启中断使能开关
5.写尾部描述符寄存器,此步骤可触发DMA开始从内存中取描述符
6. 读或者写描述符中的buf,实现数据的传输
4.AXI_DMA调试结果:
4.1.发送调试:
- CPU有待发送的数据,首先请求描述符,再分配描述符中的buf,启动DMA。接收到中断,则会把数据发送出去。
- 关于内存分配:是有CPU分配,由于不知道发送的数据什么时候被使用完毕,在调试的过程中并没有对描述符中的buf进行释放。
- 发送时的内存释放有谁来管理?
4.2.接收调试 - AXI_DMA申请了固定个数的描述符,根据以太网报文最大长度,对每个描