在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32G071從standby模式退出后的SRAM數據保留

STM32單片機 ? 來源:STM32單片機 ? 2023-12-20 09:31 ? 次閱讀

01問題的描述

某客戶使用 STM32G071 芯片從 standby 模式下喚醒,想要 SRAM 的數據在退出 standby模式后得以保持。根據手冊的描述,配置了相應的比特位,但是發現數據仍然保持不了。

02問題的復現

根據客戶的描述,以及 STM32G071 的最新版參考手冊 RM0444 發現,在 standby 模式下,可以通過設置 PWR_CR3 的 RRS 比特位去控制 SRAM 的保持能力,相應的 API 接口函數為HAL_PWREx_EnableSRAMRetention()、HAL_PWREx_DisableSRAMRetention() ;

63553056-9ed7-11ee-8b88-92fbcf53809c.png

基于例程

......STM32CubeRepositorySTM32Cube_FW_G0_V1.6.1ProjectsNUCLEOG071RBExamplesPWRPWR_STANDBYEWARM

以及相應的 NUCLEO-G071 開發板,修改部分代碼,根據 LED4 的閃爍頻率去判斷從 Standby 模式退出后,SARM 里面的數據是否能夠保持住。

63647b1a-9ed7-11ee-8b88-92fbcf53809c.png

03問題的排查

基于上述的配置,簡單的測試了一下,發現即使 HAL_PWREx_EnableSRAMRetention() 使能了,但是測試代碼中的 sram_magic_word 的值沒有保持住,顯示的是 LED4 的閃爍頻率為1s。

究竟是什么原因導致了數據沒有保持住呢,再次查看參考手冊,確定了只要使能 PWR_CR3的 RRS 比特位即能保持住,對比了 PWR_CR3 的 RRS 比特位的說明,在 standby 模式下,SRAM 的數據可以保持,但是當退出 standby 模式呢?

63687e7c-9ed7-11ee-8b88-92fbcf53809c.png

由于測試的是從 standby 模式退出,standby 模式退出后會進行 reset,該復位導致了 SRAM的數據被覆蓋或丟失?通過查閱資料,發現是編譯器的配置導致的。以 IAR 為例,查看其默認的腳本文件 icf;

6379c9b6-9ed7-11ee-8b88-92fbcf53809c.png

也就是說,在程序執行的時候,會將 readwrite 的數據進行自動的初始化,而具有.noint 性質的塊則不初始化,所以這兒還需要將 SRAM 里面要保持的數據放置在.noinit 的 section 中。

04問題的解決

知道原因之后,相應的措施也就明朗了,修改 icf 文件如下:

638ed84c-9ed7-11ee-8b88-92fbcf53809c.png

并將想要保持的 SRAM 中的數據前面加關鍵字__no_init :

63a72500-9ed7-11ee-8b88-92fbcf53809c.png

再次下載程序,發現 LED4 的閃爍頻率跟隨 RRS 比特位值的不同而不同,符合預期。另外在實現的過程中,需要說明兩點的是:

1、修改 icf 后,可以通過 map 文件查看,應如下文所示,如果發現“P2”mismatch 之類的提示,檢查下該 section 中的變量,如上面提到的 sram_magic_word,可能被編譯器優化了,在map 中也搜索不到該名稱,則可以在實際的代碼中使用該變量進行一些運算或判斷,然后重新編譯即可解決。

63aed7d2-9ed7-11ee-8b88-92fbcf53809c.png

2、當調試器連著 IAR 調試界面運行的時候,無論 RRS 的值設置為 0 或 1,G071 從standby 模式下退出后,SRAM 中的內容均可以保持,如果需要驗證 RRS 的值的影響,則建議斷開調試器,讓程序 free-running ,可以通過比如 LED 的閃爍頻率去判斷結果。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50816

    瀏覽量

    423615
  • 接口
    +關注

    關注

    33

    文章

    8598

    瀏覽量

    151157
  • sram
    +關注

    關注

    6

    文章

    767

    瀏覽量

    114690
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    356011
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68612

原文標題:實戰經驗 | STM32G071 從 standby 模式退出后的 SRAM 數據保留

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問STM32G071如何通過DWT實現us精準定時?

    STM32G071怎樣通過DWT實現us精準定時?,各位大佬有實現的嗎?
    發表于 03-20 06:59

    STM32G071G070在未燒寫程序時,MCU上電其PB7腳輸出的是個高電平,為什么?

    STM32G071G070在未燒寫程序時,MCU上電其PB7腳輸出的是個高電平,因為此腳接的是一個蜂鳴器,MCU上電一直在響,燒寫程序蜂鳴器工作邏輯正常,PB7腳并不是jlink或SW的調試引腳(調試引腳MCU硬件內部有上拉
    發表于 03-29 08:13

    嵌入式系統的核心器件:STM32G071開發事項

    STM32G071的PD0,PD2作為外部中斷使用,外部接10K上拉電阻拉到3.3V。外部設備被觸發電平為低電平,正常無信號。【問題】在以上背景下,按道理外部設備正常時(未觸發中斷),IO口輸入電平應該是
    發表于 12-06 09:39

    時鐘小部件是不是不適用于STM32G071應用程序模板呢

    你好 !對于我的 TouchGFX 設計器,數字小部件和模擬時鐘小部件不適用于 STM32G071 應用程序模板(至少在模擬器中,我無法與板確認)。當我說它不起作用時,我的意思是它顯示得很好,但值(或動畫)永遠不會更新。小部件被凍結為原始值。
    發表于 12-02 11:02

    沒有VREF+ 輸入的STM32G071設備的參考是什么?

    在我的 NUCLEO-G071RB 板上,我能夠使用 CubeMX 設置 VREFBUF 模式以使用 VREF+ 輸入引腳、內部 2.5V 或 2.048V 作為 ADC 和 DAC 的參考。但是我
    發表于 12-05 06:57

    如何為stm32g071板開發一種Keil環境呢?

    我正在為 stm32g071 核板使用 Keil 開發環境。我應該選擇哪種設備?stm32g071rbIx 還是 stm32g071rbTx? 我如何決定哪一個適合我?
    發表于 01-04 08:11

    STM32G071 NUCLEO使用flash >30%時位圖渲染不正確怎么解決?

    的項目,選擇 STM32G071 演示加載一些額外的圖像到項目(拆分的 .gif 文件發出的一系列 40 png 總大小:150kb連接板生成代碼和閃存目標結果:GUI 的一些圖像丟失(黑線),例如
    發表于 01-09 07:32

    如何用STM32G071輸出比較計算1KHz頻率?

    我有 NUCLEO-G071RB 板。如何用STM32G071輸出比較計算1KHz頻率?我的系統時鐘頻率是 64 MHz 。 --
    發表于 01-10 07:36

    如何連接STM32G071進行USB Type-C PD充電?

    和 D- 以允許 5V 負載以更高的功率(DCP)充電?我們的計劃是自主 USB PD 充電 IC 切換到 STM32G071
    發表于 01-10 07:45

    STM32G071GB HSE引腳可用嗎?

    我計劃在 STM32G071GB(UFQFPN28 - 28 引腳封裝)上使用 HSE第 41 頁上的數據STM32G071 確實明確說明 HSE 引腳是否可用于小型封裝(28 引腳)數據
    發表于 02-08 07:34

    MCU退出standby模式時歷史數據會丟失嗎?

    MCU退出standby模式時歷史數據會丟失嗎?喚醒=重置?S32K3是否有專門的待機模式數據
    發表于 05-10 06:06

    一文知道STM32G071 PD0 PD2引腳使用注意事項

    STM32G071的PD0,PD2作為外部中斷使用,外部接10K上拉電阻拉到3.3V。外部設備被觸發電平變為低電平,平常保持高電平信號。
    的頭像 發表于 07-21 10:30 ?1.5w次閱讀
    一文知道<b class='flag-5'>STM32G071</b> PD0 PD2引腳使用注意事項

    STM32G071 PD0 PD2引腳使用注意事項

    STM32G071的PD0,PD2作為外部中斷使用,外部接10K上拉電阻拉到3.3V。外部設備被觸發電平變為低電平,平常保持高電平信號。
    發表于 02-10 10:27 ?1次下載
    <b class='flag-5'>STM32G071</b> PD0 PD2引腳使用注意事項

    STM32G071最小系統板原理圖與PCb源文件

    STM32G071最小系統板原理圖與PCb源文件
    發表于 09-26 14:20 ?0次下載

    DS12232_STM32G071x8,STM32G071xB單片機數據手冊

    DS12232_STM32G071x8,STM32G071xB單片機數據手冊
    發表于 11-23 08:35 ?1次下載
    DS12232_<b class='flag-5'>STM32G071</b>x8,<b class='flag-5'>STM32G071</b>xB單片機<b class='flag-5'>數據</b>手冊
    主站蜘蛛池模板: 免费观看色| 天天操天天干视频| 9984四虎永久免费网站| 亚洲操| 涩涩爱影院| 成 人网站免费| 亚洲成人网页| 亚洲国内精品| 狠狠色噜噜综合社区| 天堂资源在线播放| 女人张开腿让男人做爽爽| 国产精品你懂得| 色综合综合色| 男啪女色黄无遮挡免费视频| 五月天激情开心网| 美日毛片| 亚洲第一在线| 一区二区免费视频| 天堂tv亚洲tv日本tv欧美人tv| 国产三级网站在线观看| 人操人操| 亚洲4区| 欧美sese| 可以免费播放的在线视频| 亚洲国产视频一区| 色月| 国产精品伦理一区二区三区| www午夜视频| 视频色www永久免费| 国产黄色大片又色又爽| 日韩亚洲欧洲在线rrrr片| 一级特黄国产高清毛片97看片| 女人张开腿男人猛桶视频| 男女午夜免费视频| 日本高清视频不卡| 日韩一级视频免费观看| 艹逼视频免费观看| 91福利网站| 午夜性爽爽爽| 国产成人精品怡红院| 国产三片高清在线观看|