请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AM1808 您好!
我想确认、从由数据包缓冲描述符中的错误触发的 HOSTPEND 中断中恢复的唯一方法是对芯片执行硬件热复位。 是这样吗?
TRM 指出:
18.2.14.2硬件复位注意事项
发生硬件复位时、EMAC 外设的寄存器值和所有组件都将复位
返回其默认状态。 硬件复位后、需要先初始化 EMAC、然后才能执行
恢复其数据传输、如第29.2.19节所述。
硬件复位是从错误中断(HOSTPEND)(即)中恢复的唯一方法
由数据包缓冲描述符中的错误触发。 在执行硬件复位之前、您应该检查
MAC 状态寄存器(MACSTATUS)中提供软件类型信息的错误代码
需要纠正的误差。 有关错误中断的详细信息、请参阅第18.2.16.1.4节。
但我看到了一些其他线程、人们试图通过屏蔽 HOSTPEND 来恢复、并轮询中断状态。 然后,如果发生 HOSTPEND,方法是重新启动网络堆栈,然后执行 EMAC debinit()函数和 init()函数。 这是否已经过测试? 还是唯一恢复硬件热复位的方法?
谢谢、
-Gunter