您好:
我在调试6678ndk相关网口功能想要实现evm6678开发板与电脑的网口通信,期间遇到了些问题,麻烦能给出点建议。
首先基于evm6678开发板,我用mcsdk中的helloworld和client工程都能跑通,在电脑端,运行cmd后可以实现ping通,helloworld.exe,telnet和echo都没问题。
现在我想实现evm6678开发板与PC通过网口进行数据的收发(数据内容及大小自己定义)
通过论坛了解到如下信息并且已经实施,遇到问题如下:
1) K1_STK_v1.1中GE工程:
我已经做如下修改,其他都没改动过
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[GE_NUM_ETHERNET_PORT]=
{
GE_PORT_CABLE_CONNECT, //SGMII port 0
GE_PORT_CABLE_CONNECT //SGMII port 1
};
但是load后运行程序到KeyStone_Ethernet_Ports_Init函数,
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LOCK_MASK));可以运行通过。
执行到如下语句时过不去,请问是什么原因
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_MR_AN_COMPLETE_MASK));
第一个while过不去,屏蔽第一个语句后第二个仍然过不去。
2)如果用mcsdk中的client或者helloworld工程,我该如何修改来实现6678evl开发板与电脑的网口进行收发数
非常感谢!!
Allen35065:
MCSDK的client例程基于NDK,和STK里的例程是两回事;
STK里主要是给你演示怎么初始化EMAC模块,并不包含以太网协议栈,就是说没有TCP/IP或者UDP协议的支持,它上面传输的是MAC层的包,你遇到的错误是双方协商不通过,因为STK没有考虑和PC通信的部分,DSP0toDSP1是将两个网口互连的测试。
client或者helloworld已经可以通过网口进行数据收发,参考NDK手册。
Yao david:
n你,我要想在GE这个工程下实现EVM6678L和PC通信,但是也是执行到如下语句时过不去,请问是什么原因
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_MR_AN_COMPLETE_MASK));
你的这个问题解决了吗?
weiwei zhang1:
请问问题解决了吗?怎么解决的
dajia li:
回复 Yao david:
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_MR_AN_COMPLETE_MASK));
你这问题解决了没
weiwei zhang1:
回复 dajia li:
demo板上有两个网口,接出来的是网口1,网口0没有接
user4709001:
回复 weiwei zhang1:
您好,weiwei zhang1
demo板子确实只有网口1是接的,这种问题通过什么方法可以解决呢?
weiwei zhang1:
回复 user4709001:
改代码啊 具体不记得了 在init函数里