关于6678开发包中GE例程问题的请教

2019-08-04 20:47发布

您好,所用开发板为EVM6678,在GE例程的使用中遇到如下问题无法解决,需要技术支持:

目前想使用该程序,实现DSP向PC机发送UDP报文,已经按照说明做了如下修改:

GE_Test_Data_Path test_data_path = GE_TEST_DSP0_TO_DSP1;

Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_MASTER;

Fill_EMAC_header(ucpBuffer, ETHERNET_IPV4_PACKET, Source_MAC_address[j], Dest_MAC_address[j]);

1、在只作上述修改的时候,利用Wireshark软件可以抓到报文,但是源和目的的IP地址均为255.255.255.255,不知道是何处进行设置的;

2、我现在需要发送自己的数据pktMatch[],修改TxDescriptorTempBuffer[]= pktMatch[]时,uiTxGoodFrames=0,应该是没有成功,因此不知道如何将待发送数据包pktMatch[]进行填充;

3、HostPacketDescriptor结构体类型中,很多成员变量没有注释,不知道含义,是否有成员变量可直接用于装订自定义数据包。

问题研究了很久了,都没有得到解决,谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhangmangui
1楼-- · 2019-08-04 21:39
这个不太熟悉  帮你问问
comeon201208
2楼-- · 2019-08-04 22:01
这个我也不是很熟悉的,跟着学习的了
comeon201208
3楼-- · 2019-08-05 03:31
 精彩回答 2  元偷偷看……
zhangmangui
4楼-- · 2019-08-05 05:47
帮你问的结果:
下面这行代码需要修改:

Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_MASTER;

修改成:

Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

1. 这个报文是PC发出来的

2. 发送自定义数据时,您需要注释掉GE_2DSP_Test函数中的如下这行代码

/*fill data pattern*/
   memset(ucpBuffer+EMAC_HEADER_LEN, transferParam->dataPattern, uiPayloadNumBytes);

并修改为:

memcpy(ucpBuffer+EMAC_HEADER_LEN, pktMatch, uiPayloadNumBytes);



3. HostPacketDescriptor结构体是按照文档规定格式定义的,您可以在下面的文档中找到结构体定义:

KeyStone Architecture  Multicore Navigator User Guide (SPRUGR9F)

3.1 Host Packet Descriptor

其中Extended packet info block/Protocol-specific data/Other SW data可以传您自定义的数据


my1108apple
5楼-- · 2019-08-05 06:06
谢谢,根据您的方法已经解决问题。这里正是个热心的大家庭,每次遇到问题都会得到热心的帮助。

一周热门 更多>