问题描述:
在利用SRIO进行传输时,遇到传输速度过慢的问题,显示程序卡在wait_lsu_completion函数中

一直在判别uiCompletionCode和contextBit。
原因分析:
考虑到这里是因为传输出错而导致程序一直处于判别状态,从而想到可否在一次出错后通过对寄存器进行复位而使之快速跳出循环进入到下一次传输之中。Srio传输出错时给内部发中断,通过在中断函数中对srio寄存器进行复位,让通路回到正常状态;基于这一思路进行了如下的操作:
解决方案:
步骤一:
打开中断使能。找到srio配置传输参数部分,将“发射完成产生中断intrRequest”,“屏蔽良好传输中断supGoodInt”使能打开。(标黄色部分)


针对SRIO传输速度慢的问题,通过分析发现程序卡在wait_lsu_completion函数中。为解决此问题,提出了开启中断使能并映射中断到CIC,定义中断服务函数进行错误处理和寄存器复位的方法。在中断服务函数中,当传输出错时,释放中断,复位srio寄存器,确保系统能快速恢复并进行下一次传输。
最低0.47元/天 解锁文章





