你好,
我们尝试在IDLE状态后关闭VDD_SOC。
例如在 m33 控制台上:
lm 暂停
lm M7 挂起
闲置的
然后我们关闭 VDD SOC(通过设置 pf09 待机模式并关闭 VDD SOC)
然后松开备用销,
m33 上的 VDD_SOC 从头开始,我们仍然节省了 RAM。
我们在 spl 中修改代码,使其在 bl31 中使用热启动路径,并成功启动到内核。
然而,之后内核就卡住了,您可以查看以下最新日志。
我想知道这两个案例之间可能存在哪些区别:
- 正常挂起情况:(保留 vdd_soc)
- 如果出现异常情况(vdd_soc 关闭),我们是否应该在 m33 启动时执行其他操作来重新初始化某些内容?
[2026-07-06 10:39:55.070]注意:BL31:已恢复 NS 上下文
[2026-07-06 10:39:55.074][ 1018.529356][T3251] 调用 its_restore_enable+0x0/0x1ac
[2026-07-06 10:39:55.080][ 1018.529356][T3251] 调用 cpu_pm_resume+0x0/0x5c
[2026-07-06 10:39:55.084][ 1018.529356][T3251] 调用 kvm_resume+0x0/0x68
[2026-07-06 10:39:55.089][ 1018.529356][T3251] 调用 irq_gc_resume+0x0/0x110
[2026-07-06 10:39:55.094][ 1018.529356][T3251] 调用 irq_pm_syscore_resume+0x0/0x24
[2026-07-06 10:39:55.100][ 1018.529356][T3251] 调用 timekeeping_resume+0x0/0x188
[2026-07-06 10:39:55.105][ 1018.529356][T3251] 调用 sched_clock_resume+0x0/0xd0
[2026-07-06 10:39:55.110][ 1018.529619][T3251] 启用非启动 CPU...
[2026-07-06 10:39:55.142][ 1018.559214][T0] 在 CPU1 上检测到 VIPT 指令缓存
[2026-07-06 10:39:55.146][ 1018.559246][T0] GICv3:CPU1:找到分发器 100 区域 0:0x0000000048080000
[2026-07-06 10:39:55.154][ 1018.559293][T0] CPU1:已启动辅助处理器 0x0000000100 [0x412fd050]
[2026-07-06 10:39:55.161][ 1018.560868][T3251] CPU1 已启动
[2026-07-06 10:39:55.191][ 1018.608610][T0] 在 CPU2 上检测到 VIPT 指令缓存
[2026-07-06 10:39:55.196][ 1018.608642][T0] GICv3:CPU2:找到重新分发器 200 区域 0:0x00000000480a0000
[2026-07-06 10:39:55.203][ 1018.608686][T0] CPU2:已启动辅助处理器 0x0000000200 [0x412fd050]
[2026-07-06 10:39:55.210][ 1018.610091][T3251] CPU2 已启动
[2026-07-06 10:39:55.240][ 1018.657836][T0] 在 CPU3 上检测到 VIPT 指令缓存
[2026-07-06 10:39:55.245][ 1018.657870][T0] GICv3:CPU3:找到 redistributor 300 区域 0:0x00000000480c0000
[2026-07-06 10:39:55.253][ 1018.657917][T0] CPU3:已启动辅助处理器 0x0000000300 [0x412fd050]
[2026-07-06 10:39:55.260][ 1018.659332][T3251] CPU3 已启动
[2026-07-06 10:39:55.289][ 1018.707065][T0] 在 CPU4 上检测到 VIPT 指令缓存
[2026-07-06 10:39:55.294][ 1018.707101][T0] GICv3:CPU4:找到 400 号分发器区域 0:0x00000000480e0000
[2026-07-06 10:39:55.302][ 1018.707151][T0] CPU4:已启动辅助处理器 0x0000000400 [0x412fd050]
[2026-07-06 10:39:55.309][ 1018.708560][T3251] CPU4 已启动
[2026-07-06 10:39:55.339][ 1018.756298][T0] 在 CPU5 上检测到 VIPT 指令缓存
[2026-07-06 10:39:55.344][ 1018.756332][T0] GICv3:CPU5:找到 500 重分发器区域 0:0x0000000048100000
[2026-07-06 10:39:55.351][ 1018.756379][T0] CPU5:已启动辅助处理器 0x0000000500 [0x412fd050]
[2026-07-06 10:39:55.359][ 1018.758206][T3251] CPU5 已启动
[2026-07-06 10:39:55.362][ 1018.781314][T3251] rpmsg-lifecycle rpmsg-lifecycle:PM:调用 rpmsg_lifecycle_resume_noirq @ 3251,父级:平台
[2026-07-06 10:39:55.373][ 1018.792078][T3251] rpmsg-lifecycle rpmsg-lifecycle:PM:rpmsg_lifecycle_resume_noirq 在 1 微秒后返回 0
[2026-07-06 10:39:55.383][ 1018.802181][T3251]arm-smmu-v3 490d0000.iommu:PM:调用 arm_smmu_resume [arm_smmu_v3] @ 3251,父级:49000000.总线
[2026-07-06 10:39:55.394][ 1018.812966][T3251]arm-smmu-v3 490d0000.iommu:PM:arm_smmu_resume [arm_smmu_v3] 在 60 微秒后返回 0
[2026-07-06 10:39:55.403][ 1018.822745][T3251] imx_mu 445b0000.mailbox:PM:正在调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:44000000.总线
[2026-07-06 10:39:55.414][ 1018.833538][T3251] imx_mu 445b0000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 3 微秒后返回 0
[2026-07-06 10:39:55.424][ 1018.843279][T3251] imx_mu 47300000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.434][ 1018.853283][T3251] imx_mu 47300000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 2 微秒后返回 0
[2026-07-06 10:39:55.444][ 1018.863029][T3251] imx_mu 47320000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.454][ 1018.873031][T3251] imx_mu 47320000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 1 微秒后返回 0
[2026-07-06 10:39:55.464][ 1018.882772][T3251] imx_mu 47330000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.474][ 1018.892773][T3251] imx_mu 47330000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 1 微秒后返回 0
[2026-07-06 10:39:55.483][ 1018.902513][T3251] imx_mu 47340000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.493][ 1018.912516][T3251] imx_mu 47340000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 1 微秒后返回 0
[2026-07-06 10:39:55.503][ 1018.922256][T3251] imx_mu 47350000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.513][ 1018.932256][T3251] imx_mu 47350000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 1 微秒后返回 0
[2026-07-06 10:39:55.523][ 1018.941998][T3251] imx_mu 47550000.mailbox:PM:调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:soc
[2026-07-06 10:39:55.533][ 1018.952002][T3251] imx_mu 47550000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 1 微秒后返回 0
[2026-07-06 10:39:55.542][ 1018.961770][T3251] imx_mu 42430000.mailbox:PM:正在调用 imx_mu_resume_noirq [imx_mailbox] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.553][ 1018.972548][T3251] imx_mu 42430000.mailbox:PM:imx_mu_resume_noirq [imx_mailbox] 在 0 微秒后返回 0
[2026-07-06 10:39:55.563][ 1018.982411][T3251] fsl-lpuart 42590000.serial:PM:调用 lpuart_resume_noirq [fsl_lpuart] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.574][ 1018.993375][T3251] fsl-lpuart 42590000.serial:PM:lpuart_resume_noirq [fsl_lpuart] 在 2 微秒后返回 0
[2026-07-06 10:39:55.584][ 1019.003326][T3251] fsl-lpuart 44380000.serial:PM:调用 lpuart_resume_noirq [fsl_lpuart] @ 3251,父级:44000000.总线
[2026-07-06 10:39:55.595][ 1019.014289][T3251] fsl-lpuart 44380000.serial:PM:lpuart_resume_noirq [fsl_lpuart] 在 4 微秒后返回 0
[2026-07-06 10:39:55.605][ 1019.024225][T3251] imx-lpi2c 42530000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.616][ 1019.035009][T3251] imx-lpi2c 42530000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 1 微秒后返回 0
[2026-07-06 10:39:55.626][ 1019.044756][T3251] imx-lpi2c 42540000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.636][ 1019.055531][T3251] imx-lpi2c 42540000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 0 微秒后返回 0
[2026-07-06 10:39:55.646][ 1019.065272][T3251] imx-lpi2c 426b0000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.657][ 1019.076047][T3251] imx-lpi2c 426b0000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 0 微秒后返回 0
[2026-07-06 10:39:55.667][ 1019.085794][T3251] imx-lpi2c 426c0000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.677][ 1019.096567][T3251] imx-lpi2c 426c0000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 0 微秒后返回 0
[2026-07-06 10:39:55.687][ 1019.106304][T3251] imx-lpi2c 426d0000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:42000000.总线
[2026-07-06 10:39:55.698][ 1019.117086][T3251] imx-lpi2c 426d0000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 0 微秒后返回 0
[2026-07-06 10:39:55.708][ 1019.126830][T3251] imx-lpi2c 44350000.i2c:PM:调用 lpi2c_resume_noirq [i2c_imx_lpi2c] @ 3251,父级:44000000.总线
[2026-07-06 10:39:55.718][ 1019.137605][T3251] imx-lpi2c 44350000.i2c:PM:lpi2c_resume_noirq [i2c_imx_lpi2c] 在 0 微秒后返回 0
[2026-07-06 10:39:55.728][ 1019.147353][T3251] imx-irqsteer 4b0b0000.中断控制器:PM:调用 genpd_resume_noirq @ 3251,父级:soc
[2026-07-06 10:39:55.738][ 1019.157693][T3251] PM:GENPD_RESUME_NOIRQ dev=4b0b0000.中断控制器domain=display task=kworker/4:5 pid=3251
[2026-07-06 10:39:55.749][ 1019.168295][T3251] SCMI_PD 功能域=13 状态=开启 任务=kworker/4:5 进程 ID=3251
日志中似乎没有任何错误信息。是否关闭电压可能会导致电流消耗的差异。你注意到功耗方面有任何变化吗?为什么要关闭VDDSOC?