一块板卡上有两片C6678DSP和一片FPGA,2片DSP、FPGA间通过CPS1848芯片连接,CPS1848芯片由FPGA配置,现在调试2片DSP间的SRIO通信,主要程序部分:
…………
SRIO_2DSP_Test();//SRIO发数程序
func(); //信号量操作函数
SRIO_2DSP_Test();//SRIO发数程序
……………..
问题:当SRIO_2DSP_Test()函数内发送16包数据时,程序能顺利执行完;当SRIO_2DSP_Test()函数内发送8包或24包数据时,到第二个SRIO_2DSP_Test()函数处卡死,请大家分析一下,谢谢。
Ryan BL:
不明所以////
你是DIO/还是message呀,DIO有错误码的;
很可能你是有一个没用全局地址的。
xuefeng Li1:
回复 Ryan BL:
用的DIO,数据源/目的地址都是全局地址,调试过程中没有出现错误码
Ryan BL:
回复 xuefeng Li1:
使用error capture查看srio的出错,然后分析;
有可能是你上一个操作出错,然后导致了现在你看到了挂起;
我遇到过因为message配置错了,导致port error stop
xuefeng Li1:
回复 Ryan BL:
找到原因了,SRIO初始化的问题,我的程序初始化了多次,SRIO只能初始化一次;发现加门铃包用时非常多,发数用时23974ns,如多加门铃包,共用时464550034ns,觉得很奇怪