回到以前的问题、从未回答过、可能会干扰现场...
Amit、
您是否也会这么善良并回答其他问题? 又来了:
为了进行逻辑测试、如何仿真 EMAC_INT_TX_STOPPED、EMAC_INT_RX_STOPPED? 其他错误?
2.当给定的 TX 描述符上发生错误时,EMAC 是否会继续到下一个描述符?
3.当给定 TX 描述符上发生错误时、EMAC 是否会复位 DES0_TX_CTRL_own?
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.
回到以前的问题、从未回答过、可能会干扰现场...
Amit、
您是否也会这么善良并回答其他问题? 又来了:
为了进行逻辑测试、如何仿真 EMAC_INT_TX_STOPPED、EMAC_INT_RX_STOPPED? 其他错误?
2.当给定的 TX 描述符上发生错误时,EMAC 是否会继续到下一个描述符?
3.当给定 TX 描述符上发生错误时、EMAC 是否会复位 DES0_TX_CTRL_own?
您好、Amir、
Amit 不再支持此论坛。 我将尝试回答您的问题。
[引用用户="Amir-Yungman"]1. 为了进行逻辑测试、如何仿真 EMAC_INT_TX_STOPPED、EMAC_INT_RX_STOPPED? 其他错误?[/报价]
EMAC DMA 将在检测到错误时停止。 请参阅数据表中所示的以下流程图。
我认为当 INT_TX_STOPPED 位置1时、这是由错误导致的。 这意味着您可能会看到同时设置了多个位。 错误可能是由于数据表中列出的以下任何事件所致。 您需要创建以下列出的错误之一来模拟错误事件。 如果您使用 TivaWare 正确配置 EMAC 并具有 TCP/IP 堆栈、我怀疑您可以轻松地遇到任何错误事件。 您可以尝试通过在描述符中使用不正确/无效的地址覆盖 EMAC 配置、例如数据缓冲区指针地址、以查看是否可以创建总线错误。 在这种情况下、DMA 有望在检测到总线错误时停止。
μ■异常中断:
–发送过程停止(TPS、位1):表示传输停止。、
–发送 Jabber 超时(TJT、位3):表示发送 Jabber 定时器已过期。
–接收 FIFO 溢出(OVF、位4):表示接收缓冲区在帧期间发生溢出
接收。
发送下溢(UNF、位5):表示发送缓冲器在帧期间有下溢
传输。
–接收缓冲器不可用(RU,位):表示 CPU 拥有接收中的下一个描述符
列表中、并且 DMA 无法获取它。
–接收过程停止(RPS、位8):表示接收过程进入停止状态。
–接收看门狗超时(RWT、位9):表示接收到大于2KB 的帧长度
(启用巨型帧时为10、240)
–早期发送中断(ETI、位10):表示待发送的帧已完全传输
发送 FIFO。
–致命总线错误(FBI,第13位):表示发生了总线错误。
[引用用户="Amir-Yungman"]。 当给定 TX 描述符上发生错误时、EMAC 是否会继续到下一个描述符?
否、不符合流程图。
[引用用户="Amir-Yungman"]3. 当给定 TX 描述符上发生错误时、EMAC 会将 DES0_TX_CTRL_Oown 复位吗?
我不确定。 在正常操作中、自有位由 CPU 置位并由 EMAC DMA 清零。 如果 DMA 检测到一个错误、以太网操作被暂停、并且错误被生成到 CPU。 CPU 将需要诊断错误源、而 CPU 可以重新设置描述符并再次为 DMA 设置自己的位。