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

6670网络加速器调试

各位工程师:我最近在6670开发板上利用自带的emacexample示例程序调试网口,出现了两个问题:

1、当程序设置为internal loopback,若不加载gel文件,程序可以跑通,但是数据会丢失部分,并且观察丢失的数据都是协议帧内容部分,协议头数据完整;当加载gel文件,数据正确。我试了下若将gel文件中配置pll1部分(这个设置6670 main pll为 983mhz)部分注释的话,数据也会丢失。请问是不是与dsp的mainpll值有关?

2、程序设置为external loopback,加载了gel文件,配置sgmii寄存器为auto negotiation,且为master模式,并且通过外接网线连到了外部电脑上,但程序运行时卡在检测 sgmii status寄存器 中link位状态那里,link一直为0,请问是什么原因?

Marvin Liang:

Hi,

   无论哪种环回模式,都需要配置SoC main PLL/PA PLL,Gel里面有相关初始化过程,所以,你需要运行Gel进行初始化;如果你不想用Gel,必须将初始化过程移到程序中。

   所谓的external loopback其实是需要你自己在SoC外部做环回,而这样的情况下, SGMII连接的是PHY, 必须是slave mode.

Billy smith:

回复 Marvin Liang:

谢谢,这个问题已经解决,我现在碰到两个新问题:1、在开发时,可以通过手动加载gel对dsp进行初始化,那么发布后,是不是只能通过写初始化程序对dsp进行初始化?2、测试网口的示例程序helloworld,是采用gel进行初始化硬件的,我自己写了一个初始化的程序,在test_ndk.cfg中将它配置在startup这个模块中执行,不手动去加载gel文件,每次连上仿真器load program后,核0都不会跳到main处,一直卡在那,处于running状态,请问这个是什么原因?

Andy Yin1:

回复 Billy smith:

您好,

可能是你写的初始化程序有问题,可以参考一下下面链接中的例程,这些例程都是将PLL及DDR的初始化集成在代码中,在加载后由程序完成初始化工作,不依赖于gel。

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

Billy smith:

回复 Andy Yin1:

您好,我配置的程序就是在这个基础上修改的,现在的问题是,我把配置程序配置在其他工程(这个工程所有的段都位于l2sram里,而helloworld示例程序的段有大部分分配在DDR3)的startup模块的firstfxn中,load program后,可以顺利进入main入口,而在helloworld这个示例程序中,load后,进不了main,一直显示running,我想是不是因为分配的段位于DDR3内,而将段分配到对应的DDR3地址时,emif接口还没初始化?所以DDR3不可访问,那如果是这样,怎么解决呢?请各位大神帮忙解答下,谢谢了!

seawolf:

回复 Billy smith:

我最近也遇到了跟你类似的问题,我用一个NDK的helloworld例程,在EVM6678的板子上能跑(加了gel文件),但是在自己的6678板子上将out文件load之后一直是running,进不到main函数内。不知道你后来是怎么解决的?

qian cui:

回复 Billy smith:

helloword这个程序我这里也会出现跳转不到main 的情况,求指导?

还有一个问题是运行helloword程序90%都会出现unable register the EMAC这个错误,请问是否有遇到,怎么解决的,谢谢?

yuanwen dong:

回复 seawolf:

Debug configuration 里面的 run to main选项打勾了没有?

赞(0)
未经允许不得转载:TI中文支持网 » 6670网络加速器调试
分享到: 更多 (0)