您好、
对 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