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

hyperlink serdes 问题

新做的板子上调试两6678 的 hyperlink 引导和通信,每次使能serdes pll 后hyperlink 寄存器都不能进行读操作,是怎么回事?在两个开发板上调试,软件执行正常,能hyperlink boot ,后续通信也正常,中断也ok,请高手赐教!急!

zheng chen6:

您好,我在调试中遇到了和您一样的问题,且初始化后在线访问映射区地址就会发生仿真器的连接断掉的情况,请问您是怎么解决的?

Thomas Yang1:

回复 zheng chen6:

可能是映射区地址是映射到一个非法内存,然后产生异常访问,导致仿真器链接断掉。建议重点检查映射方式

zheng chen6:

回复 Thomas Yang1:

我只映射了DDR,调试的时候是有的时候可以访问有的时候就不行了,每次上电现象不一样,但是如果上电是正确的情况如果不断电会一直是对的,而且之前调试时是初始化后马上去读一个映射区的地址,出错的概率大一些,后来,在初始化后延时了2s再去读映射区,出错的概率就小了,反复上电操作几十次才碰到一次不对的情况,请问从初始化完成到通道稳定可以进行读操作需要很长时间么?

user1184862:

回复 zheng chen6:

您好,请问关于hyperlink的问题,找到了吗?

1. 我是2个C6657通过hyperlink boot,不稳定。

2. 通过仿真器运行,也是总出现连接断掉的情况。

3. 请问原因是复位的问题,电源的问题,时钟的问题,还是hyperlink的使用问题?

Thomas Yang1:

回复 zheng chen6:

应该是您的SERDES初始化没有严格按照TI要求来做,导致有些配置没有生效或者PLL没有锁住等,请严格按照HYPELINK的STK初始化代码来实现

zheng chen6:

回复 Thomas Yang1:

我的hyperlink配置是跟例程一样的,现在又遇到一个新情况,之前在一块板子上好使的程序放到新板子上又不好使了,dsp2收不到dsp1的收据,dsp1能收到Dsp2的调试发现是在hyperlink之前的EDMA初始化程程序导致的,去掉之后就好使了,请问EDMA的初始化会对hyperlink有影响么?另外新板子上DSP2的定时器zhongduan在打开后有时候跑到几千就不递增了,会一直在定时器的中断服务程序里面,这时如果重新加载程序就会出错,仿真器断开,请问这有可能是哪的问题

Thomas Yang1:

回复 zheng chen6:

1)理论上EDMA对HYPERLINK是没有影响的,但如果你的EDMA搬移目的或者源地址是HYPERLINK空间的话,那么就有耦合,正常应该是在HYPERLINK配置完映射关系后,才能使能EDMA Channel进行搬移等操作。您所说的不好使,具体问题现象是什么呢?

2)请问停在中断服务程序哪里,此时能否单步debug?

3)感觉你问题比较多,建议第一步需要隔离是软件问题还是硬件问题,可以现在TI EVM上用STK LOOPBACK程序进行自测做初步排查

zheng chen6:

回复 Thomas Yang1:

不好使就是两片dsp之间不能正常通信了,只有dsp1能收到Dsp2的值,DSp2收不到Dsp1的值

定时器中断停在了中断服务程序里,单步执行程序也不往下走,单步执行多次后仿真器会断开

Thomas Yang1:

回复 zheng chen6:

不能正常通信也分很多种情况:

1 SERDES LINK不能建立

2 SERDES LINK建立 DSP2能收到DSP数据,但长度不完整

3 SERDES LINK建立 DSP2能收到DSP数据,但数据不正确

4 SERDES LINK建立,但数据CRC出错,全部被丢弃

不同错误,debug方向会不通。

你的程序有没有测试过自环?》?

zheng chen6:

回复 Thomas Yang1:

link已经建立了,跑过自循环,是对的,但是两片之间传输测试用例里是不是没有啊,我是在那个测试用例里加了一个相互写的语句,测了下是对的,我的初始化已经改成和测试用例一样了,目前看加EDMA0_ini后dsp1到dsp2的数据就穿不过去了,但是还没有大量验证,另外,dsp2定时器死掉那个是一直在中断服务程序里的一个cache_wbL1d的wait里,这种有可能是什么原因呢

赞(0)
未经允许不得转载:TI中文支持网 » hyperlink serdes 问题
分享到: 更多 (0)