TI中文支持网
TI专业的中文技术问题搜集分享网站

SRIO调试时必须重新上电的问题

各位专家好:

碰到一个问题:运行完一遍SRIO例程后,必须重新上电。如果不退出debug模式,直接restart,SRIO不通,打印如下:

SRIO linkSpeed is 3.125 GHz!

External exception happened. MEXPFLAG[3]=0x4000.

  Event 110: MDMAERREVT XMC VBUSM error event

  memory protection exception caused by local access at 0x3402800c

  Supervisor Write violation

NRP=0xc00d0a4, NTSR=0x1800d, IRP=0x0, ITSR=0x0, TSCH= 0x0, TSCL= 0x36834b7

 B3=0xc00d0b4, A4=0x1844044, B4= 0x34020000, B14= 0x815438, B15= 0x8130f0

Exception happened at a place can not safely return!

如果不断电,重新进入debug模式,port可以正常连接,但是数据收发不正常。必须要重新上电才可以。

http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/90689.aspx

这里提到初始化前对SRIO先进行复位下电,我看到的例程里已经有这样的操作了:

主函数里有:

       KeyStone_disable_PSC_module(CSL_PSC_PD_SRIO, CSL_PSC_LPSC_SRIO);

       KeyStone_disable_PSC_Power_Domain(CSL_PSC_PD_SRIO);

初始化函数里也有:KeyStone_SRIO_soft_reset 函数。应该有其他原因。

还做了如下测试工作:

1、单步调试,发现只要运行至少两次SRIO的读或者写的操作,就会出现上述问题。

2、如果运行例程里的memory test例程,再运行SRIO例程,也会出现上述问题。

3、后来重新分配了一下内存空间,将DDR3单独划分了两片,分别用于存放SRIO的读写数据,但是问题依旧。

4、在debug界面,分别使用system reset 和CPU reset命令,提示No source available for "0x20b00000",然后restart,问题依旧。

请问有什么方法可以解决?

Allen35065:

首先你可以试试在no boot模式下能不能反复运行。

原则上写例程时没有考虑到需要重新跑的问题,除了使用SRIO接口,它也配置了其它设备,restart未必会复位所有的设备,所以你碰到了这些问题。

Stephen chen:

回复 Allen35065:

一直就是在no boot模式下试的。

看例程,应该就只是初始化了时钟、MSM、SRIO、TSC和cache,哪里会有影响呢?

Allen35065:

回复 Stephen chen:

一般不重新上电,SRIO要做重同步的操作,这个例程里没有做这部分。

shuang li1:

Stephen chen你好,

我现在也在进行SRIO的调试工作,平台是DSP6678,交换芯片CPS1848,FPGA。

现在也出现了重新load程序之后SRIO不通的问题。

不知道你解决了这个问题了没有?是怎么解决的呢?

是不是像TI的工作人员说的需要重新建立连接?

谢谢!!

赞(0)
未经允许不得转载:TI中文支持网 » SRIO调试时必须重新上电的问题
分享到: 更多 (0)