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

EMAC 发送数据帧为什么必须是60字节

各位先生:你们好。

       我用uIP移植到C6424上,发现EMAC的传输数据有这样一个问题想请问你们有没遇到过。

       问题是这样的:

             一、为什么收发数据包必须是60字节.(接收不够60字节EMAC强制添0;发送不够60自己发送无效)

             测试过程  1)在PC机上:ping xx,xx,xx,xx  DSP6424,PC发出的ARP广播包为42字节,但是发到DSP后,强制为接收60字节(42字节为电脑PC发送数据,18字节全是0)这是为什么? 

             测试过程2 DSP应答ARP时,uIP需要把应答的42字节回送到PC机,但是DSP是发送不出去的。因为不够60自己,所以我用了一个笨办法,添加0到60字节才能回送出去。

           二、我若想让DSP的EMAC不停发送数据,有什么标志判断上次是否完成?

              测试过程:我使用MACINVECTOR测试发送通道标志为1,表示数据已经发送再发送下一个数据。但是这样有一个问题,首次发送MACINVECTOR为0,这样代码就不会进入发送程序,你们是如何处理的?

                              if(MACINVECTOR & 0x00000001) //为1表示上次数据发送成功

                              {  send(a) } //发送数据

                    非常感谢大家给我提示。

shuang li1:

你好,应该是协议规定最小包是64字节(加上包头包尾,去掉包头包尾就是60字节)。我现在也在调试6424的网口,然后用bios和ndk,但是程序始终调不通,想请教一些问题。你使用6424的网口调试的时候是把程序load到哪的呢,片内ram,ddr2还是sram呢?希望能交流一下,蛮急的。留下我的QQ 希望能得到一些指导,931400503。非常感谢

赞(0)
未经允许不得转载:TI中文支持网 » EMAC 发送数据帧为什么必须是60字节
分享到: 更多 (0)