完善资料让更多小伙伴认识你,还能领取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可以进入暂停状态。您可以在这里分享您的方框图吗?
-------------------------------------------------- ---------------------------------------------请将帖子标记为 如果提供的信息能够回答您的问题/解决您的问题,请“接受为解决方案”。给予您认为有用的帖子。 |
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3115 浏览 7 评论
3405 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2870 浏览 9 评论
3961 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
3055 浏览 15 评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
1324浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
1166浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 16:23 , Processed in 0.621696 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4058
