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.

[参考译文] TMS570LS3137-EP:EMAC 数据接收 DMA

Guru**** 2587365 points
Other Parts Discussed in Thread: TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1052884/tms570ls3137-ep-emac-data-receive-dma

器件型号:TMS570LS3137-EP
主题中讨论的其他器件:TMS570LS3137

你(们)好  

我们正在为 TMS570ls3137控制器开发项目中的 EMAC 驱动程序、出于测试目的、我们使用 TMS570ls3137评估板。  我们已将 EMAC 配置为 MII 模式、100 Mbps、全双工和广播模式。 如果以太网数据包大小为2000字节、并且在2个数据包中被分割为1500字节和500字节。 我们没有启用 Rx 中断、以及如何从应用软件轮询是否已接收到所有2000个字节? 我们只想在接收完所有2000个字节后处理接收到的数据。  

谢谢、

Subash

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

    您好、Sabash、

    您可以使用  RXINTSTATRAW 寄存器中的标志。 EMAC 接收中断状态(未屏蔽)寄存器(RXINTSTATRAW)中的位无论中断是否使能都被置位。  

    2.您可以启用 EMAC 中断(TX 或 RX)、但禁用 VIM 以接受来自 EMAC 的中断。 因此、您可以轮询 MACINVECTOR 寄存器中的标志

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

    非常感谢 QJ。 是否有任何方法可以监控 EMAC 中的 DMA 指针(当前的 DMA 指针位置)?

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

    请回复我的上述问题吗?

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

    您好、QJ Wang、

    我们还有一个关于清除 MACINVECTOR - RXPEND 中的中断标志的查询。  我们获得中断、但无法清除标志。

    谢谢、

    Subash  

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

    您好、Subash、

    在 EMAC 发送 ISR 中、必须向 EMAC 硬件 b 写入 MACEIVECTOR 寄存器确认中断。 但是、只有在完成指针(TXnCP、RXnCP)写入最后处理的 TX 缓冲区描述符时、才会清除中断。

    读取状态寄存器不会清除标志。