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:当 EMAC 从闪存读取数据且 POM 被启用时、TMS570LS3137处理器卡滞

Guru**** 2587365 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/934207/tms570ls3137-tms570ls3137-processor-stuck-when-emac-read-data-from-flash-and-pom-is-enabled

器件型号:TMS570LS3137

您好!

在以太网驱动器上、我们使用简单的填充缓冲器来添加一些数据、以将以太网数据包扩展到最短的长度。 (通过传输触发器链)。
将数据直接从闪存传递到 EMAC 是否正确?
我认为是的、因为文档中不包含任何关于此类限制的通知。

问题是、当我们向闪存的另一部分启用 POM 时。 澄清:我们在常规软件运行期间未使用 POM。 在这种情况下、MCU 会不时由 WDT 复位。 看起来 MCU 完全停止工作(当我们尝试将 WDT 行为修改为 FIQ 以调试陷阱 MCU 时、MCU 不能正常反应)。

您能否确认这种行为与 POM 相关、如果没有它、我们可以使用闪存中的缓冲器来提供以太网数据包数据?

Jiri

静态常量 U8 minPacketFill[MIN_PKT_LEN]=
{
/*数据,用于调整数据包长度(如果小于所需的最小值)*/
0x00、0x01、0x02、0x03、0x04、 0x05、0x06、0x07、
0x08、0x09、0x0a、0x0B、0x0c、 0x0D、0x0E、0x0F、
0x10、0x11、0x12、0x13、0x14、 0x15、0x16、0x17、
0x18、0x19、0x1a、0x1b、0x1c、 0x1d、0x1E、0x1f、
0x20、0x21、0x22、0x23、0x24、 0x25、0x26、0x27、
0x28、0x29、0x2a、0x2b、0x2C、 0x2D、0x2e、0x2F、
0x30、0x31、0x32、0x33、0x34、 0x35、0x36、0x37、
0x38、0x39、0x3a、0x3b
}; 

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

    您好、Jiri、

    将数据从闪存传递到 EMAC 时没有问题。  

    除了主 CPU 之外、POM 覆盖不适用于任何其他总线主控。 任何其他总线主控(HTU、EMAC、DMA 等)通过 POM 访问覆盖的存储 器的任何尝试都会导致死锁情况(系统挂起)。 其他总线主控需要直接访问目标内部或外部存储器。

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

    您好!

    感谢您的回答。 我需要对其进行澄清、因为我们不是 POM 用于 EMAC 的覆盖内存。 它是另一个地址。

    Jiri