完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试通过多通道 DMA 缓冲区直播 1080p60 视频,但是我们遇到了一个问题,即在向 FX3 写入一定数量的缓冲区之后,我们看到当前线程 WATERMARK 和 READY 标志保持不变。 这会导致视频数据在 FPGA 端备份(因为缓冲区报告已满,因此无法写入),然后系统中断。 在直播 480p60、720p60 或 1080p30 时不存在此问题。 我尝试将 MultiChannel DMA 中的缓冲区数量从 4 增加到 8,以尝试增加可用缓冲区的数量,但我看不到任何区别。 如果我切换到单通道 DMA,视频可以按预期发出,但是我不确定它是否真的是 1080p60,因为文档说我需要使用多通道 DMA 来获得输出 1080p60 所需的 FX3 数据带宽。
在随附的照片中,你可以看到多次写入,然后突然间 WATERMARK 和 READY 同时断言。 有没有办法通过FX3固件检查缓冲区是卡住了还是已满? 发生这种情况时,我能否附上一张 UART 调试打印? |
|
相关推荐
1个回答
|
|
是的,您可以检查 DMA 缓冲区的状态。 要检查缓冲区状态,您可以在 DMA 通道配置结构中注册生产者和消费者事件,使用全局变量跟踪生产者和消费者事件,并在 for 循环中打印值。
这样我们就可以先尝试找出缓冲区是否真的被填满了或者还有其他问题。 如果缓冲区实际上已被填满,则可以尝试增加 DMA 缓冲区的大小。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12022 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:42 , Processed in 0.673429 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号