當前所在位置:首頁 > 關于我們 > 資訊中心

NVM區數據備份機制(二)

發布時間:2019-08-21

       上一篇文章介紹了第一種NVM區備份機制,但寫入數據長度受限于扇區大小,本文介紹第二種NVM區數據備份機制。此方法會先將NVM區劃分為A、B兩個等大小區域,將A區作為正式數據區,B區作為備份區,每個區域的最后一字節為數據有效標志位FLAG,1表示該區數據有效,0表示該區數據無效。更新數據過程中若出現掉電,重新上電后先根據A、B兩區FLAG判斷哪個區域內數據有效,進而繼續完成更新操作。本例中NVM區大小是32KB,A區大小劃分為16KB,B區大小劃分為16KB。舉例說明:本例假設A區已經成功寫入了數據,需要向NVM區寫入新數據。其他情況處理流程與下述4步同理。
(1)判斷A區FLAG = 1后,將A區數據讀出寫入到B區,寫入成功后,將B區 FLAG賦值為1。
(2)B區FLAG修改成功后,將A區FLAG標志改為0。
(3)A區FLAG標志修改成功后,對A區進行數據更新操作,即寫入新數據。更新成功后,將A區FLAG標志寫為1。
(4)A區FLAG修改成功后,將B區FLAG標志修改為 0,至此完成數據更新操作。
        至此,兩種NVM區數據備份方案全部介紹完畢。

上一篇:嵌入式編程第三篇:MDK中鏈接腳本解析 下一篇:NVM區數據備份機制
包邮是什么意思