CH569 ETH-GMAC目录里面的UDP例程 无法正常使用

手上有块参考贵司的CH565W&CH569W评估板制作的样板。使用UDP例程时,经过确认,代码停在了CH563NET_CreatUpdSocket函数的

   i = CH569NET_SocketCreat(&SocketId,&TmpSocketInf);                           /* 创建socket,将返回的socket索引保存在SocketId中 */

   

这个接口地方,不再往下走了。


确定停在这里的方法为:

红色代码处能运行到。注释后重新烧录。代码没有运行到蓝色框框处。

image.png



硬件表现为:eth网口左下角的灯亮起。并呈现不规律的闪烁。


使用的网络参数:

/* TCP/IP协议栈本地参数 */

UINT8 local_mac[6]={0x00,0xc2,0xe4,0x01,0x02,0x03,};            /* 本地MAC地址,会在后面填入实际的MAC地址  */

UINT8 CH569IPAddr[4]={192,168,1,110};                           /* 目的IP地址 */

UINT8 GatewayIp[4]={192,168,1,1};                               /* 网关地址  */

UINT8 SubMaskIp[4]={255,255,225,0};                             /* 子网掩码   */

#if create_a_socket

UINT8 DESIP[4] = {192,168,1,101};                               /* 目标IP */

#endif


eth网口连接的路由器。路由器网关为192,168,1,1,路由器下的主机IP为192,168,1,101。


主机侧并没有监听到UDP数据。路由器管理界面也没有看到CH569样板的IP。


请问一下贵司的技术工程师。以上现象是否合理。怎样才能让UDP这套例程跑起来。

使用其他TCP例程也是卡在了此接口处。UINT8 CH569NET_SocketCreat(UINT8 *socketid,SOCK_INF *socinf);                   /* 创建socket */


先使用GMAC-RAW例程测试一下,确保一下MAC层收发没有问题,同时也是验证硬件设计、连接没有问题。

其次注意一下路由器是否会有MAC过滤之类的东西,目标IP的设备是不是开了防火墙一类的东西。


使用GMAC-RAW例程测试。能接收,但好像发不出去。打印如下


read_length:64

rece@0x20020c80

ff ff ff ff ff ff 

00 16 41 ef ee 3d 

08 06 00 01 08 00 06 04 00 01 END!


Error:DMATxDescToSet can no t use!

send:DMACHTDR:x20020000

send:DMATxDescToSet:0x20020000

send:DMASR:0800360400

main:DMATxDescToSet:0x20020000

main:0x20020000:0xf0c00000

main:0x20020004:0x000001ea

main:0x20020008:0x200200a0

main:0x2002000c:0x20020010

RGUFCR:353.

RFCECR:0.

CNT overflow.T:0.R:353.

MMCTGFCR:0.



使用的以太网芯片是MotorComm-YT8521SC


请问楼主问题解决了吗?我现在也在用这个phy,不过型号是

YT8531SC,一样的,也不通。。。


只有登录才能回复,可以选择微信账号登录