单板上有两片c6678,通过cps1848交换芯片,DSP端用的论坛提供的keystone_SRIO例程修改,现在已经可以实现DSP0到DSP1的DIO NWRITE操作,测试时,打印出来的completion code = 0,但是数据为什么没有写成功?求解,谢谢了!
Andy Yin1:
确认一下DIO中填写的地址,destID等信息,然后修改对端接收地址的memory看是否有数据在刷新呢。
huajin yuan:
回复 Andy Yin1:
传输的问题已经解决,但是是在2.5G模式下。在3.125G模式下运行,程序停在了SRIO初始化函数中的
/*———wait all enabled ports OK————-*/ for(i=0; i<SRIO_MAX_PORT_NUM; i++) { if(srio_cfg->blockEn.bLogic_Port_EN[i]) { while(0==(gpSRIO_regs->RIO_SP[i].RIO_SP_ERR_STAT& CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK)); } }
5G模式下运行初始化过了,两片C6678是经过CPS1848交换芯片来传输的。
gao nicole:
回复 huajin yuan:
你好 ,我现在也在调试srio传输,配成1X模式,1.25G,程序也是停在port_ok处通不过,请问一下是什么原因?
Zhengdong Li:
你好,请教下1848的配置问题,你是怎么配置的1848,是通过6678发维护包吗
我使用ARM通过I2C配置1848可以成功,两片6678可以进行正常通信。但是,想用6678发送维护包给1848进行配置时,发现ARM写进去的寄存器的值都可以通过维护包读到,但是没法让6678使用维护包进行更改1848的各个寄存器的值。也就是说6678只能读1848而不能写,请问你遇到这种问题了吗,是怎么解决的?进行维护包写1848的时候,需要一些额外的操作比如说打开1848的写开关之类的吗,谢谢!
我用的是KeyStone——SRIO里例程修改的
Xin Wang21:
回复 Zhengdong Li:
你用SRIO是FPGA跟DSP通信,还是两个DSP之间通信???
q zhao:
回复 Xin Wang21:
问下,DSP调试,做两个DSP的SRIO回环的时候,要两个DSP都烧程序吗?JTAG是分开的,怎么烧啊?
Thomas Yang1:
回复 q zhao:
需要两个DSP都烧写程序;如果同时在线仿真,如果两个DSP是在一个JTAG菊花链上(一个板子上),那么可以用1个仿真器通过target configuration中配置两个端点,如果是在两个板子上,需要两个仿真器同时仿真。
建议新问题最好新开一个帖子进行提问
user5831376:
回复 huajin yuan:
您好,请问您传输的问题是怎么解决的?我遇到了跟您一样的情况,也是completion code = 0,但是数据没有写成功。
Ryan BL:
回复 Zhengdong Li:
注意你的地址要是全局地址
Ryan BL:
回复 user5831376:
NWRITE不带回应的,用带回应的,或读试试。注意地址要转换成全局地址。