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.

[参考译文] AM3358:配置 GPMC 寄存器

Guru**** 2553450 points
Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/609926/am3358-configuring-gpmc-registers

器件型号:AM3358

您好、

对 AM3358处理器的 GPMC 寄存器进行编程时遇到问题。

我使用的是采用 QNX 作为操作系统的 BeagleBone Black 单板计算机和 Sitara AM3358AZCZ100。

现在、我有一个用于与外部存储器通信的应用程序、它使用 WAIT-PIN 0来验证正确的数据。
程序运行无错误、与外部模块的通信正常。 但是、由于我的接口上的硬件发生了变化、现在我被迫将等待引脚1用于忙线。

我所做的唯一更改是:
-用于用作 wait1的新引脚的引脚多路复用器
-已将 GPMC_CONFIG1寄存器 WAITPINSELECT (位17-16)中的 值更改为 wait1
-所有其他与等待引脚相关的配置(低电平有效、监控等)的完成方式与 wait0完全相同。

尽管如此、处理器似乎无法识别通过 WAIT 引脚1发送的等待信号。 此外、即使等待引脚1仍然有效、也会在 RdAccessTime 通过后立即读取数据。  这会导致通过总线传输无效数据。

我可以排除硬件错误、因为我尝试了多个 BeagleBones、内存模块等
此外、引脚多路复用应该正确、因为我可以在 GPMC_STATUS 寄存器中读取正确的引脚值(当我在引脚上强制设置高电平或低电平时、WAIT1STATUS 会发生变化)。

我缺少什么?


此致
Fabio Raffagnato

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

    还请检查代码中的 GPMC_IRQSTATUS、GPMC_IRQENABLE、GPMC_CONFIG 寄存器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    感谢您的快速回答。
    我没有在我的代码上使用任何中断。 GPMC_CONFIG 寄存器保持不变、因为复位值是我正在使用的值(低电平有效)。

    此致
    Fabio
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不能说那会是什么问题。 这些是控制等待引脚的唯一寄存器。 TI 不支持 QNX、因此我们无法提供帮助。