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

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

3天內不再提示

STM32系統(tǒng)的應用中如何避免數據受斷電影響

454398 ? 來源:上海韜放電子 ? 作者:上海韜放電子 ? 2020-12-11 17:23 ? 次閱讀

嵌入式設備的開發(fā)中,斷電時通常需要保存一些非易失性數據。如果添加了系統(tǒng)配置,用戶定義的信息等,并且添加了額外的ROM IC(例如基于I2C的24C02等),則額外的PCB空間將增加,硬件成本將增加,并且產品將減少。如果僅從實用角度出發(fā),在諸如STM32系統(tǒng)的應用中,作者建議可以嘗試以下兩種方法并作為參考。

基于備份寄存器

原理:對于大容量MCU系列,它具有42個16位備份寄存器,而中小型微處理器僅具有10個16位備份寄存器。以stm32f103c8t6為例,這42個備份寄存器的地址偏移量為:0x04?0x28、0x40?0xbc,可以存儲84個字節(jié)的數據。備用寄存器取決于備用電源。當外部VDD掉電時,只要系統(tǒng)的Vbat可以正常存在,Bakeup domaain寄存器的內容就可以正常保存。

軟件編程的要點如下:以一個項目中常用的案例為例

函數初始化:

讀取備份寄存器:void BKP_ WriteBackupRegister(uint16_ t BKP_ DR,uint16_ t Data)

讀取備份寄存器:uint16_ t BKP_ ReadBackupRegister(uint16_ t BKP_ DR)

此方法簡單明了,但由于缺少可用空間,因此僅適用于保存少量數據,例如用戶在可穿戴設備中的通用配置數據。

基于內部閃存

原理:閃存,也稱為閃存,也是可以重寫的存儲器。它分為nor flash和NAND flash。閃存通常不用于代碼存儲場合,例如嵌入式控制器中的程序存儲空間。而NAND閃存通常用于大數據存儲場合,例如U盤和固態(tài)硬盤,它們通常是NAND閃存類型。

在STM32芯片中,閃存的讀寫單位均基于“頁面”。以stm32f103c8t6為例,每頁大小為2K字節(jié);

軟件編程要點

釋放寫保護釋放:此方法基于以下前提:允許當前的讀寫Flash,并且允許當前的Flash進行寫操作。因此,目前暫時不討論某些API,例如optionbytes操作和flash讀寫保護操作。

Flashwrite:單個uint32_ T數據寫入的簡單流程圖如下:

Flashread:對于單個int數據讀取,它相對簡單,可以通過以下語句完成:rddata =(*()__ IOuint32_ t *)dataAddr);

由于SW中涉及許多API,并且編碼人員還需要理解許多其他背景知識,因此使用此方法相對復雜。但是,由于數據保存在頁面中,因此頁面大小最大為2048字節(jié),因此該方法可用于保存掉電時不容易丟失的大數據??紤]到閃存讀寫保護的邏輯機制,最好在不考慮數據安全性的情況下使用此方法。

對于這種斷電保護數據方法,這里只是丟磚引玉,歡迎您提出更好的方案。
編輯:hfy

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

    關注

    31

    文章

    5358

    瀏覽量

    120775
  • 嵌入式設備
    +關注

    關注

    0

    文章

    110

    瀏覽量

    16989
  • 可穿戴設備
    +關注

    關注

    55

    文章

    3818

    瀏覽量

    167148
收藏 人收藏

    評論

    相關推薦

    如何在實際產品執(zhí)行斷電程序

    的:在用戶按下電源按鈕后,電路應該向STM32發(fā)送最高優(yōu)先級的中斷,STM32立即存儲所有必要的數據。之后,STM32將禁用信號發(fā)送給為整個系統(tǒng)
    發(fā)表于 10-11 16:12

    頻繁斷電會造成監(jiān)控數據丟失嗎?

    ,那么頻繁斷電是否會導致硬盤數據損失呢?此事件需要兩個方面分析,一是商用監(jiān)控系統(tǒng)、二是家用監(jiān)控系統(tǒng)。   我們先討論商用監(jiān)控系統(tǒng):頻繁
    發(fā)表于 10-17 11:41

    單片機斷電后RTC是不是清零了?如何避免數據的丟是誰呢

    單片機斷電后RTC是不是清零了?如何避免數據的丟是誰呢?
    發(fā)表于 05-22 12:22

    電影評論網絡數據抓取與分析系統(tǒng)的設計與實現

    電影評論網絡數據抓取與分析系統(tǒng)設計與實現
    發(fā)表于 05-29 10:36

    系統(tǒng)斷電時FPGA數據保護的方法有哪幾種?

    系統(tǒng)斷電時FPGA數據保護的方法有哪幾種?
    發(fā)表于 04-29 06:27

    STM32系統(tǒng)掉電保存數據的方法是什么

    STM32系統(tǒng)掉電保存數據的方法在嵌入式設備開發(fā),往往需要保存一些掉電不易失性的數據,如果
    發(fā)表于 12-10 07:42

    如何去實現一種電影推薦系統(tǒng)設計

    數據源解析電影信息用戶評分信息電影標簽信息
    發(fā)表于 01-03 06:27

    STM32F746G DISCO如何斷電記憶數據?

    STM32F746G DISCO如何斷電記憶數據
    發(fā)表于 01-11 07:40

    stm32的硬件IIC如何避免數據?

    stm32的硬件IIC如何避免數據
    發(fā)表于 10-30 07:03

    基于RFID的電影信息管理系統(tǒng)的設計方案

    在現實程序開發(fā), 我們開發(fā)的最多,最廣泛的還是一些各類型的數據管理系統(tǒng),當然不同的系統(tǒng)有功能上的差異,數據庫也不一樣,但最主要,最常見的功
    發(fā)表于 07-09 09:18 ?1次下載
    基于RFID的<b class='flag-5'>電影</b>信息管理<b class='flag-5'>系統(tǒng)</b>的設計方案

    快速學習-電影推薦系統(tǒng)設計(數據源解析)

    數據源解析電影信息用戶評分信息電影標簽信息
    發(fā)表于 01-11 16:06 ?5次下載
    快速學習-<b class='flag-5'>電影</b>推薦<b class='flag-5'>系統(tǒng)</b>設計(<b class='flag-5'>數據</b>源解析)

    如何應對不間斷電源(UPS)設計挑戰(zhàn)

    電池供電的不間斷電源(UPS)在保護數據中心、醫(yī)療設施、工廠、電信樞紐甚至家庭的敏感設備免受短期電網尖峰和停電影響方面非常重要。在停電時間較長的情況下,它們能夠提供必要的短期電力,以
    的頭像 發(fā)表于 11-02 17:18 ?2141次閱讀

    如何應對不間斷電源(UPS)設計挑戰(zhàn)

    電池供電的不間斷電源(UPS)在保護數據中心、醫(yī)療設施、工廠、電信樞紐甚至家庭的敏感設備免受短期電網尖峰和停電影響方面非常重要。在停電時間較長的情況下,它們能夠提供必要的短期電力,以
    的頭像 發(fā)表于 11-03 18:03 ?1961次閱讀
    如何應對不間<b class='flag-5'>斷電</b>源(UPS)設計挑戰(zhàn)

    如何實現更精確的電流限制并避免損壞測器件

    電子發(fā)燒友網站提供《如何實現更精確的電流限制并避免損壞測器件.pdf》資料免費下載
    發(fā)表于 08-29 11:09 ?0次下載
    如何實現更精確的電流限制并<b class='flag-5'>避免</b>損壞<b class='flag-5'>受</b>測器件

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數據完整性受損。我們將
    的頭像 發(fā)表于 12-11 10:51 ?395次閱讀
    <b class='flag-5'>STM32</b>F407 MCU使用SD NAND?不<b class='flag-5'>斷電</b>初始化失效解決方案