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.

[参考译文] Starterware/AM3359:ICEv2 NOR 访问

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/618888/starterware-am3359-icev2-nor-access

器件型号:AM3359

工具/软件:Starterware

你(们)好。

我正在使用 NOR 闪存、并且似乎在单独读取和写入所有存储器扇区(M29W160EB)时遇到问题。

如果我将数据写入地址0x08010000、在回读时、数据也会出现在每个其他扇区中。 例如、0x08010000 = 0x08030000 = 0x08050000。

同样、如果我读取或写入地址0x08020000、这些值在地址0x08040000和0x08060000上被镜像。

上面的地址线似乎不工作、我已经验证了引脚多路复用器配置、看起来都是正确的。 闪存器件上的以下4个地址行 A16–A19是否需要额外的 GPMC 配置才能工作?

请注意、NOR 闪存配置为异步 AD 多路复用 16位操作。

非常感谢、
Adam

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

    如果您查看 ICEv2原理图(processors.wiki.ti.com/.../AM335x_Industrial_Communications_Engine_Board_Design_Files ),您将看到高位或高位地址线 A16至 A19由 GPIO 控制。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    A16和 A17已连接到 GPMC_A8和 A9 (U5和 R5)。
    地址 A18和 A19列出了已连接到 GPMC_A6和 A7 (T3和 T4)的 GPIO_2_12和 GPIO_2_13。

    以上内容是否正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对、但 GPMC 寻址不能以这种方式工作。 请参阅 AM335x TRM Rev. P 中的表7-5。A16...A19必须连接到 GPMC_A[1]...GPMC_A[4]以实现线性地址空间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供信息。

    从此、我现在可以让 A16和 A17正常工作(配置为 GPMC_A1和 GPMC_A2)。

    需要注意的是、原理图未将其显示为选项、因此我认为它是 GPMC_A8和 GPMC_A9。 这可能值得与数据表和 TRM 进行内联更新。

    我无法将 A18和 A19配置为 GPMC_A3和 GPMC_A4、因为数据表仅详细介绍了 GPMC_A6/A12和 GPMC_A7、A13的配置。 您能否告诉我这2条地址线应该采用哪种模式? 如果模式7 (GPIO2_12/13)、是否需要任何其他配置来使线路正常工作?

    非常感谢、
    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、A18和 A19是 GPIO、它们只能通过软件切换。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、您是说我需要手动切换 A18和 A19 (在代码中)、还是这是通过 GPMC 自动控制的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不、它不是自动控制的。 这需要在您的代码中实现。