最近在开发6678网口程序时遇到这样的问题:
1. 使用ti提供的网口程序例程,在ti的evm板上可以运行,连接电脑后正常通信,收发数据。使用NDK协议栈,UDP的socket。
2. 我们做的板子用的是SGMII0,刚开始在EVM_init函数中将sFlags.phy = 1;时仿真环境下进入不了main函数。后将Flags.phy = 0;,能够进入main函数,因为我们实际用的是SGMII0。
3. 如果NDK的配置为CfgAddEntry( hCfg, CFGTAG_IPNET, 1, 0,sizeof(CI_IPNET), (UINT8 *)&NA, 0 );,则能打印出ip地址配置等信息,但是实际上配置了SGMII1,用和DSP连接的板卡ping 这个地址是ping不到的。但如果修改为CfgAddEntry( hCfg, CFGTAG_IPNET, 0, 0,sizeof(CI_IPNET), (UINT8 *)&NA, 0 );,配置成网口0的话连ip都打印不出来,会一直在连接。
4. 看到怎么论坛上有人反馈过SGMII0无法通讯的问题,看到大家都在说Init_SGMII这个函数,想请教下大家这个函数是ti的例程或者库中提供的?还是我们自己实现的?大家有没有实现了这个接口的c文件,能够提供一下;或者实现这个接口要用到的头文件等等指点一下。
5. ti有没有相关配置SGMII0的例程?大家有没有相关的例程呢?
Shine:
请参考下面wiki网站上SGMII0的NDK例程。
processors.wiki.ti.com/…/NDK,_PA_Resource_Wiki_for_Keystone_Devices