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.

[参考译文] RM57L843:EMAC Rx 中断

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1402538/rm57l843-emac-rx-interrupt

器件型号:RM57L843

工具与软件:

您好!

我目前正致力于为 EMAC 模块实现 RX。 我的计划是  在 Rx 中断处理程序中确认 C0RX 中断、然后在 FreeRTOS 任务中处理 Rx 数据包、并遇到以下问题。

1. 当我们有用于中断确认的 C0RX 标志时、RXnCP 还能提供什么额外好处。  当我们可以简单地设置 C0RX 位进行中断确认、然后根据 FreeRTOS 任务中的所有权标志来处理数据包时、RXnCP 提供了哪些其他优势? 我相信、这里可能缺少一些关键的细节。

2.使用 FreeRTOS 任务实现延迟处理的最佳方式是什么? 它是读取 RXnCP 寄存器、然后将其右移回同一寄存器、并确认 Rx 中断处理程序内  的 C0RX 标志、还是我只需在 Rx 中断处理程序中确认 C0RX 标志、然后在 FreeRTOS 任务中将每个处理后的数据包地址写入 RXnCP 寄存器?  

3.如果我们不更新中断处理程序中的 RXnCP 寄存器、EMAC 会一直生成 Rx 中断直到我们写入它期望的值吗?

谢谢!

Ravi

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

    您好!

    我可以获得该问题的答案吗?

    谢谢!

    Ravi

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

    尊敬的 Ravi:

    很抱歉,我上星期休假了。

    现在、我开始处理您的问题、并将尽快尝试提供更新。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Ravi:

    1.  当我们有用于中断确认的 C0RX 标志时、RXnCP 能够提供什么额外的好处。  当我们可以简单地设置 C0RX 位进行中断确认、然后根据 FreeRTOS 任务中的所有权标志来处理数据包时、RXnCP 提供了哪些其他优势? 我确信我可能会遗漏一些关键的细节。

    要清除中断、务必 将主机最后处理的 RX 缓冲区描述符写入 RXnCP 寄存器。

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

    (+) TMS570LS3137-EMAC 数据接收 EP -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    ——
    谢谢、此致、
    Jagadish。