TI中文支持网
TI专业的中文技术问题搜集分享网站

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

您好,在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结构体类型中,很多成员变量没有注释,不知道含义,是否有成员变量可直接用于装订自定义数据包。

问题研究了很久了,都没有得到解决,谢谢了

3、

ping liu1:

补充:所用开发板为EVM6678

miker wang:

你好,

1、GE例程里没有涉及到外设PA,所以光靠GbE Switch无法实现IP及IP层以上的协议,如想发送UDP报文,必须在程序中手动添加IP包头和UDP报文头,可以修改Fill_EMAC_header函数,在以太网帧首部之后分别添加相应IP和UDP协议首部。原例程中,每个数据包只添加了以太网帧首部,没有IP和UDP首部,所以你抓到的所谓的IP地址其实是以太网帧中的数据,并不是真正的IP地址。

2、TxDescriptorTempBuffer是用来存放描述符的地址,并不是存放数据的。若想发送自己的数据,需要将自己的数据填充至每个描述符所指向的buffer中。GE_2DSP_Test()中如下代码是填充相应buffer的,可以对其进行修改。

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

3、HostPacketDescriptor是一种描述符类型,详细参数说明请参考Multicore Navigator手册中对于Descriptor的描述,其中的buffer 0 pointer就是指向自定义的数据包的指针。

zhao jd:

您好!您实现使用PA发送udp包了,可否指导一下。刚接触netcp 比较生疏,不知如何下手!

ping liu1:

回复 zhao jd:

我是和miker wang 的方法一样处理的,您也可以试试,应该没有问题

赞(0)
未经允许不得转载:TI中文支持网 » 关于开发包K1_STK_1010中GE例程问题的请教
分享到: 更多 (0)