工程师们你们好,我在调试以太网时先用的NDK,已经调试完成,但速度方面有点低,因此想用官方的GE例程进行开发,但在开发时测试DSP与PC通信时,照下面正常设置后,调试一直有问题,一直显示wait for port 0 PHY link。
硬件板上两个网口都接了88E1111,RJ45接口。
GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1;
Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;
GE_Port_Connection port_connect[2]=
{
GE_PORT_CABLE_CONNECT, //SGMII port 0
GE_PORT_CABLE_CONNECT //SGMII port 1
};
请问这是什么问题呢? 还需要哪儿进行设置吗?
user4962317:
我的板子也是这样,过不了wait phy link函数。
对于port0,需要gpmdio regs的link reg为1,对于port1,需要link reg为2。但是我的板子很奇怪,明明只连了port0,但是这个link却是2。我把判断条件进行了更改,让它等于2就能过这个函数,在线调试时可行。但是烧录到dsp里就死活过不去了。
然后我在线调试的时候,都直接屏蔽这个函数,能正常给电脑发数。
原因也搞不懂,ti也没人解释。
shuai he2:
回复 user4962317:
你在给pc发数据时,屏蔽了正常? pc能收到数据? 源MAC地址和目的MAC地址需要设置吗?
我的是屏蔽了不行,pc收不到数据。。。。。
user4962317:
回复 shuai he2:
屏蔽了能收到数据,但是不知道这样干是否可行,因为我烧录进去以后程序就收不到数。
源mac是自己给板子设的,目的mac是电脑或者上位机的,我给上位机发的时候如果不设置就收不到。但是给电脑发,无论是什么mac,wireshark都能抓到。
你可以先去看gpmdio寄存器的link,看它是个什么值。这可能也跟硬件有关吧。
shuai he2:
回复 user4962317:
我的板子上gpmdio是alive是0x00000004,link在两个口随便接一个的话是0x00000004,都不接的话是0x00000000….
怎么会出现4啊。。。
什么情况啊。。。 硬件不会有问题的,不然基于NDK的程序也不能正常通信啊。。
user4962317:
回复 shuai he2:
可是我的在线调试也能正常通信,然后link是2。这就得问ti的人,或者其他的大神了,我也搞不懂为啥。
shuai he2:
回复 user4962317:
顶一顶,等专家指点。。
user4683768:
你好,请问后面怎么解决的呢,我跟您遇到了同样的问题