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:对 EMIF 总线的不必要访问

Guru**** 2449140 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/624344/tms570ls3137-unwanted-access-to-emif-bus

器件型号:TMS570LS3137

您好!

我们在 EMIF 总线上有包含 FIFO 的外部器件。 因此、我们需要阻止(阻止)对该存储器区域的任何可能访问、包括推测预取。 当我们将该区域标记为具有从不执行标志的器件时、它可以由 MPU 单元完成。 但我们对它有一些奇怪的看法。

下面是数据表 SPNS162C 中的表6-20的一部分。 它描述了 MPU 单元所需的区域大小为16MB、据我们了解、剩余的"保留"空间访问将被阻止。 当然、没有 生成中止、因为它是推测性访问、这不会生成错误。
问题是、我们观察到使用此设置对该区域进行了罕见但真实的访问。 采用64MB 区域大小的几乎相同的设置可以正常工作。

根据这一观察、我们得出结论、EMIF CS2-CS4信号的地址解码器不完整、推测指令读取可以访问"保留"地址(例如0x63FF0000)、这会在总线上产生实际读取周期。 正确吗?
对于我们来说、为完整的64MB 范围创建 MPU 设置可解决此问题。 但它需要您的确认。

Jiri Dobry

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正确的做法是、对16MB 之外的64MB 空间进行推测性读取访问将创建读取访问、但不会创建中止(因为它被 CPU 丢弃)。