This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求助!求助!求助!C6678网口调试



TI工程师,你好!

公司最近用到网口功能,需要网口能收发标准的以太网帧,我看了NDK相关的文档,从网口接收到的数据在Emac层以上开始分IP和Raw两个队列处理,根据我们的需求,应该从Emac层获取数据,我看到nimu_eth.c的文档中有关于Emac层的处理,那么我们能直接从这里获取Emac层的数据吗,具体怎么获取?我试着在EmacRxPktISR函数中将数据复制到我自己定义的变量中但是一直没有接收到数据,不知道是什么原因?我是这样做的
        mmCopy((uint8_t* )rx_pbm_pkt->pDataBuffer, (uint8_t* )pBuffer, pktLen);
        mmCopy((uint8_t* )RecvEthBuff, (uint8_t* )pBuffer, pktLen) ;

RecvEthBuff是我自己定义的变量。前面一句是原来的文件中的。

  • 你可以先测试mcsdk中自带的NDK例程mcsdk_2_01_02_06\examples\ndk\client,其中调用send及recvnc收发socket报文,在此基础上进行更改,如下是一个ndk EmacRxPktISR相关的帖子供参考。

    https://e2e.ti.com/support/embedded/tirtos/f/355/p/234454/832460#832460

  • 谢谢!我目前是这样做的,直接从EMAC层将接收到的数据抓出来,因为我们不需要协议栈,所以这些数据我也就没有进栈,接收是没什么问题了,但是每次启动还是会自动发送一个包,貌似是arp,这部分也是我们不需要的,请问可以在哪里屏蔽掉?