Embedded 关于Sdram软件:自刷新模式

Embedded 关于Sdram软件:自刷新模式,embedded,Embedded,对于电源管理,我们必须将系统置于深度睡眠(系统睡眠)模式,为此,我们必须将SDRAM置于自刷新模式。 有人能告诉我们将SDARM设置为自刷新模式的步骤吗 我尝试了SDRAM配置寄存器,我发现SDRAM进入自刷新模式[我们探测了SD clk out],但在某些情况下,系统在脱离睡眠时会崩溃。首先,您需要阅读SDRAM上以及CPU上的规范,了解系统在进入和退出睡眠时的行为。这个问题没有任何普遍性。没有足够的信息。但CPU中的延迟和定时信息通常是一个很好的提示。例如,增加延迟并重新尝试。SDRAM芯片

对于电源管理,我们必须将系统置于深度睡眠(系统睡眠)模式,为此,我们必须将SDRAM置于自刷新模式。 有人能告诉我们将SDARM设置为自刷新模式的步骤吗


我尝试了SDRAM配置寄存器,我发现SDRAM进入自刷新模式[我们探测了SD clk out],但在某些情况下,系统在脱离睡眠时会崩溃。

首先,您需要阅读SDRAM上以及CPU上的规范,了解系统在进入和退出睡眠时的行为。这个问题没有任何普遍性。没有足够的信息。但CPU中的延迟和定时信息通常是一个很好的提示。例如,增加延迟并重新尝试。

SDRAM芯片的数据表应规定将芯片放入自刷新的确切顺序(可能在JEDEC规范中)。您是否已探测到发送至SDRAM芯片的所有控制信号?验证芯片是否真的被告知进入自刷新模式

如果芯片没有正确地进行自我刷新,那么您的“进入睡眠”代码就有问题

之后,确保处理器点击恢复向量时,正确退出自刷新(使用范围验证)。您可能缺少一些重新初始化步骤


如果以上两项都正确处理,那么您是因为不同的原因而崩溃的。某些设备可能丢失了一些您没有保留的上下文。电源顺序可能是另一个原因(某些设备仍然断电)。

阅读(并理解)SDRAM控制器和SDRAM本身的数据表。它是特定于部分的,并且您没有提供该信息(我也不认为这样的问题会被允许存在,除非您能够清楚地表明它是软件开发问题)。我已经完成了规范并遵循了相同的过程。然而,当退出自刷新模式时,我们看到了崩溃。感谢msemack,我已经探测了SDRAM的所有控制信号,这真的很有帮助。