您好,登錄后才能下訂單哦!
上一篇文章介紹了第一種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區數據備份方案全部介紹完畢。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。