完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
6678、FPGA,程序基于STK例程修改。
流程:FPGA通过srio传输数据后,将传输完成标志置1。该传输完成标志位于DSP的SL2中。DSP查询该标志的状态。如果为1,则去读取数据。读取数据后,将该标志清0。 问题现象:连续发送大量数据时(每隔1ms发送一次,每次64K,发送100000次),发送到90000次左右,DSP就会死机。这个时候FPGA仍在继续发送数据 排查:基本定位是DSP将标志位清0,这个动作有影响。推测有可能是DSP在清0的同时,FPGA要将其置1,这个时候发生了冲突。 但是不理解的是: 1、FPGA置1,使用的是带响应的写NWRITE_R。FPGA端能继续发送,说明一直能收到正常响应,那这个响应应该就代表已经写入内存中了吧? 2、在例程中,在操作SL2的优先级上,srioRegs->RIO_PER_SET_CNTL中的cba_trans_pri 为100,MDMAARBX中的优先级设置默认为0。这表明CPU是高于SRIO的。既然有这个仲裁机制,应该就不会出现这个问题了吧? 3、还是说NWRITE_R的响应只是代表到达了SRIO外设,并不代表已经成功写入内存了?即便使用NWRITE_R,是否也并不能保证写冲突的问题? 谢谢! |
|
相关推荐
3 个讨论
|
|
谢谢!L1D和DDR的cache都已经关掉了的。 增加了一个握手机制,目前看不会死机。但是会出现fifo地址变化的问题。 流程:用了两个core,core0查询到有效标志后,将数据存到fifo里,core1从fifo里读取数据,并回写。fifo定义在了SL2中,起始地址是0x0c10_0000。在cmd中分配了空间,操作中也做了cache的维护,程序放在了L2中 现象:运行一段时间后,发现core1无法从fifo中取数。后来发现,在core1的expression窗口里看,fifo的地址是对的。而在core0的expression窗口里看,fifo的地址已经变了。每次出问题的时候变化的地址也不固定,有时看到的起始地址是0x0c10_0080,有时候是另外一个地址。目前看到的变化后的地址也是在给fifo的空间里。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
326 浏览 1 评论
524 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
767 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
645 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1120 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
22浏览 29评论
58浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
242浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
193浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
52浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 18:50 , Processed in 1.036409 second(s), Total 65, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号