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.

[参考译文] TMDSCNCD28388D:以太网接收缓冲区溢出

Guru**** 2387830 points
Other Parts Discussed in Thread: TMDSCNCD28388D
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/949999/tmdscncd28388d-ethernet-receive-buffer-overflows

器件型号:TMDSCNCD28388D

我基于 TI 以太网示例(Ethernet_ex2_phy_loopback)为 TMDSCNCD28388D 控制卡开发了软件程序、然后在测试 CC3220 Launchpad 和 TMDSCNCD28388D 控制卡之间的 UDP 连接时、将 TCP/IP 堆栈(开源 UIP 堆栈软件)移植到 TI 支持的低级代码上; 成功通信大约2分钟后、以太网接收 FIFO 缓冲区溢出。

当以太网接收 FIFO 缓冲区溢出时、代码停止进入以太网 RX ISR。

如何增加接收缓冲器来克服这个溢出?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Amr:

    当不再调用以太网接收中断来处理接收到的数据包时,接收缓冲区溢出发生。  当接收缓冲区溢出发生时、程序在哪里停止?

    要从接收缓冲区溢出中恢复、您需要启用以太网的通用中断、即 EMAC0。

    您可以在 driverlib 中的 ethernet.c 中引用 ethernet_genericisr()函数来查看如何为通用中断提供服务。 接收缓冲器不可用条件正在处理中、您可以使用相同的逻辑通过写入您的自定义通用 ISR 并将其映射到 EMAC0来从 Rx 缓冲器溢出中恢复。

    谢谢、

    Yashwant