RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FLASH數(shù)據(jù)丟失的解決方法

凌科芯安加密芯片 ? 來(lái)源:凌科芯安加密芯片 ? 2024-11-21 16:21 ? 次閱讀

FLASH數(shù)據(jù)丟失錯(cuò)誤原因:

由于FLASH寫(xiě)入的特性是先擦后寫(xiě),寫(xiě)入不會(huì)在原來(lái)位置重新寫(xiě)數(shù)據(jù),一般都是把原位置的數(shù)據(jù)標(biāo)記為無(wú)效,再在新位置寫(xiě)入數(shù)據(jù)。如果在擦除中掉電或者寫(xiě)入時(shí)掉電,有可能會(huì)出現(xiàn)失敗的情況,下次再上電讀取就會(huì)出錯(cuò);如果是在擦除的時(shí)候掉電,不能保證擦除完全,但是已經(jīng)擦除的部分,全變成0xff了。如果是寫(xiě)的時(shí)候掉電,已經(jīng)寫(xiě)入的就是正確的,電平掉到最低極限工作電壓附近時(shí)寫(xiě)入的數(shù)據(jù)就無(wú)法保證寫(xiě)入正確。

解決方法:

(1)硬件加入掉電保護(hù)機(jī)制?

硬件電路上有相應(yīng)的掉電警告中斷,而且必須有足夠的時(shí)間供軟件響應(yīng)。

1) 電源管理芯片檢測(cè)掉電事件的發(fā)生;?

2) 儲(chǔ)能元件,在掉電發(fā)生后能滿足執(zhí)行掉電保護(hù)的操作即有足夠的時(shí)間存儲(chǔ)一些標(biāo)志位和必要的數(shù)據(jù);

一個(gè)電源檢測(cè)芯片,一個(gè)儲(chǔ)能元件(比如大點(diǎn)的電容)結(jié)合軟件判斷以及提前保存現(xiàn)場(chǎng)就能很好的實(shí)現(xiàn)掉電保護(hù)。

(2)軟件方式解決?

1)要改寫(xiě)某扇區(qū)內(nèi)容,先把該扇區(qū)內(nèi)容備份到一個(gè)特殊的扇區(qū);?

2)在某個(gè)地方寫(xiě)一個(gè)特殊的標(biāo)記;?

3)完成該扇區(qū)的改寫(xiě)操作,清除標(biāo)記;?

4)每次操作前先判斷備份區(qū)數(shù)據(jù)是否需要恢復(fù)。

這個(gè)過(guò)程“備份->置標(biāo)記->寫(xiě)->清標(biāo)記”能有效的解決FLASH突然掉電數(shù)據(jù)異常的問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17704

    瀏覽量

    249955
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423131
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1633

    瀏覽量

    147939

原文標(biāo)題:FLASH 數(shù)據(jù)丟失原因分析及解決方案

文章出處:【微信號(hào):凌科芯安加密芯片,微信公眾號(hào):凌科芯安加密芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LabView隊(duì)列操作程序數(shù)據(jù)會(huì)丟失,請(qǐng)問(wèn)有什么好的改進(jìn)方法減少數(shù)據(jù)丟失呢?

    本帖最后由 一只耳朵怪 于 2018-6-21 16:01 編輯 各位大神,我寫(xiě)了一個(gè)隊(duì)列操作,以便讀取的光譜數(shù)據(jù)能夠慢一點(diǎn)的寫(xiě)入TDMS文件中,但是程序在運(yùn)行過(guò)程中部分數(shù)據(jù)會(huì)丟失,請(qǐng)問(wèn),有什么好的改進(jìn)
    發(fā)表于 06-21 08:14

    請(qǐng)問(wèn)F28062如何把數(shù)據(jù)寫(xiě)入FLASH使數(shù)據(jù)掉電不丟失從而代替EEPROM

    請(qǐng)教,F(xiàn)28062如何把數(shù)據(jù)寫(xiě)入片內(nèi)FLASH,使數(shù)據(jù)掉電不丟失,從而代替EEPROM?是否有例程之類?
    發(fā)表于 08-20 07:18

    Flash 數(shù)據(jù)丟失

    在社區(qū)??ST MCU實(shí)戰(zhàn)??-> 存儲(chǔ)器 有一篇文檔??,干擾環(huán)境下Flash數(shù)據(jù)丟失,我現(xiàn)在也出現(xiàn)了同樣的問(wèn)題,按照文檔給出了解決的思路, 這個(gè)思路怎么用代碼來(lái)實(shí)現(xiàn),是否有示例代碼?
    發(fā)表于 10-01 10:37

    msvcr71dll等dll丟失解決方法

    情況,會(huì)造成一些應(yīng)用程序無(wú)法正常運(yùn)行(如CS、搜狗輸入法、qq等)。下面是問(wèn)題的出現(xiàn)時(shí)的彈出框:解決方法:網(wǎng)上的解決方法有兩種:第一種:就是丟失什么dll就網(wǎng)上百度搜索下載相應(yīng)的dll文件,然后把其放到
    發(fā)表于 07-09 06:00

    nvs_flash.h頭文件的解決方法

    在創(chuàng)建項(xiàng)目過(guò)程中,找不到nvs_flash.h頭文件解決方法:在CMakeList.txt文件中添加 PRIV_REQUIRES nvs_flash,例子如下
    發(fā)表于 02-17 07:30

    Silabs的Flash單片機(jī)丟失程序原因

    本內(nèi)容介紹了Silabs的Flash單片機(jī)丟失程序原因
    發(fā)表于 06-14 15:07 ?122次下載
    Silabs的<b class='flag-5'>Flash</b>單片機(jī)<b class='flag-5'>丟失</b>程序原因

    短波通信盲區(qū)現(xiàn)象解決方法介紹

    短波通信盲區(qū)現(xiàn)象解決方法介紹短波通信盲區(qū)現(xiàn)象解決方法介紹短波通信盲區(qū)現(xiàn)象解決方法介紹
    發(fā)表于 11-10 17:13 ?5次下載

    Flash數(shù)據(jù)丟失的原因

    芯片貼板后跑不起來(lái)?Flash里面的數(shù)據(jù)在使用過(guò)程中莫名改變或不翼而飛?程序丟失可能無(wú)法正常運(yùn)行,從而造成整個(gè)系統(tǒng)崩潰,下面我們來(lái)看看是什么原因讓數(shù)據(jù)異常變化。 1、用戶代碼對(duì)
    發(fā)表于 10-13 20:31 ?11次下載
    <b class='flag-5'>Flash</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>丟失</b>的原因

    Flash數(shù)據(jù)的內(nèi)容丟失的原因有哪些詳細(xì)說(shuō)明

    例如,在有對(duì)Flash寫(xiě)入或擦除操作的代碼中,如果用戶誤調(diào)用了寫(xiě)入或擦除函數(shù)或者由于程序跑飛而恰好執(zhí)行了Flash擦除或?qū)懭牒瘮?shù),這自然會(huì)導(dǎo)致數(shù)據(jù)丟失或改變。針對(duì)以上情況,可以在程序中
    的頭像 發(fā)表于 01-01 09:52 ?2.4w次閱讀

    工控機(jī)數(shù)據(jù)丟失原因及解決方法

    在我們使用工控機(jī)的時(shí)候,偶爾會(huì)發(fā)生系統(tǒng)數(shù)據(jù)丟失的情況,這是因?yàn)槭裁丛蚰??下面我們就?lái)講一講工控機(jī)數(shù)據(jù)發(fā)生的原因以及解決方法。
    發(fā)表于 06-30 16:48 ?3334次閱讀

    "STM32下載出現(xiàn)Cannot Load Flash Device Decription! 和 Error: Flash Download faled . ""Cortex-M3*的解決方法"

    STM32下載出現(xiàn)Cannot Load Flash Device Decription! 和 Error: Flash Download faled . "Cortex-M3*的解決方法
    發(fā)表于 11-26 18:21 ?1次下載
    "STM32下載出現(xiàn)Cannot Load <b class='flag-5'>Flash</b> Device Decription! 和 Error: <b class='flag-5'>Flash</b> Download faled . ""Cortex-M3*的<b class='flag-5'>解決方法</b>"

    STM32無(wú)法連接JLink(Flash讀寫(xiě)保護(hù))解決方法

    對(duì)于其他的stm32芯片或者其他ARM芯片,其實(shí)解決方法都相通,主要就是先修改啟動(dòng)方式,再去更改flash或者ram中的程序。
    的頭像 發(fā)表于 05-05 12:24 ?4057次閱讀
    STM32無(wú)法連接JLink(<b class='flag-5'>Flash</b>讀寫(xiě)保護(hù))<b class='flag-5'>解決方法</b>

    工業(yè)路由器為何會(huì)出現(xiàn)數(shù)據(jù)丟失?丟包的4個(gè)常見(jiàn)問(wèn)題與解決方法

    工業(yè)路由器是通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。但工業(yè)路由器在進(jìn)行數(shù)據(jù)傳輸過(guò)程中,若出現(xiàn)網(wǎng)絡(luò)不穩(wěn)定的情況,數(shù)據(jù)包就會(huì)出現(xiàn)丟失的情況。以下是工業(yè)路由器的4個(gè)常見(jiàn)問(wèn)題與
    的頭像 發(fā)表于 02-28 18:18 ?1448次閱讀
    工業(yè)路由器為何會(huì)出現(xiàn)<b class='flag-5'>數(shù)據(jù)</b>包<b class='flag-5'>丟失</b>?丟包的4個(gè)常見(jiàn)問(wèn)題與<b class='flag-5'>解決方法</b>

    PLC數(shù)據(jù)丟失如何找回?

    如果PLC數(shù)據(jù)丟失,以下是一些可能的方法來(lái)嘗試找回數(shù)據(jù): (1)備份恢復(fù):如果您有先前的備份數(shù)據(jù),可以嘗試從備份中恢復(fù)
    的頭像 發(fā)表于 09-05 10:30 ?3793次閱讀

    假如服務(wù)器的數(shù)據(jù)丟失,如何快速恢復(fù)丟失數(shù)據(jù)?

    在服務(wù)器數(shù)據(jù)丟失后,快速恢復(fù)丟失數(shù)據(jù)是至關(guān)重要的,以避免業(yè)務(wù)中斷和數(shù)據(jù)損失。以下是一些方法和步
    的頭像 發(fā)表于 08-08 16:59 ?466次閱讀
    RM新时代网站-首页