完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我通过dma tx通道(AXI DMA0)将数据发送到FPGA。几秒钟后,我希望通过DMA rx通道接收某些字节。执行下面的代码后(请参考CODE1 :)我正在检查tx通道的第1位 状态寄存器(0x04)和Rx通道状态寄存器(0x34)大约28秒。请参考log1以获取偏移量0x04和0x34。 请让我知道dma halt.i交叉检查源缓冲区和目标缓冲区大小的原因。 LOG1: Enc dma tx status mm2s = 4097 0x04Enc dma tx status s2mm = 20497 0x34 CODE1: / *配置TX通道* / *(易失性u32 *)(XPAR_AXIDMA_0_BASEADDR + TX_CHANNEL_SOURCE_ADDR_REG)= TxBufferPtr_1; *(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + TX_CHANNEL_CONTROL_REG)=(*(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + TX_CHANNEL_CONTROL_REG)| XAXIDMA_CR_RUNSTOP_MASK); / *通过将大小写入长度寄存器将开始传输* / *(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + TX_CHANNEL_LENGTH_REG)= Data_Length + 48; / *配置RX通道* / *(易失性u32 *)(XPAR_AXIDMA_0_BASEADDR + RX_CHANNEL_DEST_ADDR_REG)= TxBufferPtr_1 + 48; *(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + RX_CHANNEL_CONTROL_REG)=(*(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + RX_CHANNEL_CONTROL_REG)| XAXIDMA_CR_RUNSTOP_MASK); / *通过将大小写入长度寄存器将开始传输* / *(volatile u32 *)(XPAR_AXIDMA_0_BASEADDR + RX_CHANNEL_LENGTH_REG)= HEADER_LENGTH + Data_Length; |
|
相关推荐
2个回答
|
|
当TLAST处理不正确时,DMA可以进入暂停状态。您可以在这里分享您的方框图吗?
-------------------------------------------------- ---------------------------------------------请将帖子标记为 如果提供的信息能够回答您的问题/解决您的问题,请“接受为解决方案”。给予您认为有用的帖子。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2830 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1288浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
592浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
455浏览 1评论
2010浏览 0评论
736浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 00:39 , Processed in 2.177151 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号