为什么我不能将 Zynq-7000 完全置于低功耗状态?

问题描述

为什么以下任何寄存器写入会导致我的程序停止?

  • slcr.DDR_CLK_CTRL[DDR_2XCLKACT] = 0
  • slcr.DDR_CLK_CTRL[DDR_3XCLKACT] = 0
  • slcr.DDR_PLL_CTRL[PLL_BYPASS_FORCE] = 1
  • slcr.DDR_PLL_CTRL[PLL_PWRDWN] = 1

我是嵌入式开发的新手,我正在尝试实现一些基本的 C 代码,以将 zynq 7000 置于每个 page 674 of the Technical Reference Manual 的睡眠模式

所有睡眠模式步骤都可以正常执行,除了列出的步骤,所有这些步骤都与 DDR 相关,并且所有步骤都停止执行。离开 DDR 会执行代码功能,但我不确定我是否达到了最低功耗状态。

我使用 Cora Z7-07S 开发板的板载按钮作为中断源。按下按钮时中断的处理程序执行掉电功能,并在按下按钮时执行唤醒功能。

我在 Cora Z7-07S 上跟随 this tutorial (video here) 使中断正常运行。使用 AXI GPIO 作为中断源是否会对 DDR 产生某种依赖性?有没有办法设置 PL 来避免这种情况并仍然允许 GPIO 中断?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...