問題的描述
某客戶使用 STM32G071 芯片從 standby 模式下喚醒,想要 SRAM 的數(shù)據(jù)在退出 standby模式后得以保持。根據(jù)手冊的描述,配置了相應的比特位,但是發(fā)現(xiàn)數(shù)據(jù)仍然保持不了。
問題的復現(xiàn)
根據(jù)客戶的描述,以及 STM32G071 的最新版參考手冊 RM0444 發(fā)現(xiàn),在 standby 模式下,可以通過設置 PWR_CR3 的 RRS 比特位去控制 SRAM 的保持能力,相應的 API 接口函數(shù)為
HAL_PWREx_EnableSRAMRetention()、HAL_PWREx_DisableSRAMRetention() 。
問題的排查
基于上述的配置,簡單的測試了一下,發(fā)現(xiàn)即使 HAL_PWREx_EnableSRAMRetention() 使能了,但是測試代碼中的 sram_magic_word 的值沒有保持住,顯示的是 LED4 的閃爍頻率為1s。
問題的解決
知道原因之后,相應的措施也就明朗了,修改 icf 文件。
閱讀全文