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

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

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

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

Wildesbeast ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-01 09:52 ? 次閱讀

1、用戶代碼對(duì)Flash的誤操作不當(dāng)引起程序丟失或被錯(cuò)誤改寫

例如,在有對(duì)Flash寫入或擦除操作的代碼中,如果用戶誤調(diào)用了寫入或擦除函數(shù)或者由于程序跑飛而恰好執(zhí)行了Flash擦除或?qū)懭牒瘮?shù),這自然會(huì)導(dǎo)致數(shù)據(jù)丟失或改變。針對(duì)以上情況,可以在程序中設(shè)置多個(gè)允許操作的變量,當(dāng)執(zhí)行寫入或擦除操作時(shí),對(duì)這些變量進(jìn)行判斷,只有條件全部滿足時(shí),才執(zhí)行相應(yīng)的操作。

在一些不需要進(jìn)行擦除或?qū)懭氩僮鞯南到y(tǒng)中,對(duì)存儲(chǔ)區(qū)進(jìn)行寫保護(hù)或擦除保護(hù)設(shè)置,能有效的防止數(shù)據(jù)被意外修改。做到了寫入或擦除的可控性,基本可以避免此種情況發(fā)生。

圖1 Flash保護(hù)

2、電源失效

圖2 電源噪聲嚴(yán)重

電源電壓的異??赡軙?huì)導(dǎo)致系統(tǒng)單片機(jī)系統(tǒng)工作異常的現(xiàn)象,如輸出電壓小于單片機(jī)系統(tǒng)工作所需的最小電壓,輸出電壓不干凈,噪音嚴(yán)重等,這些很容易引起單片機(jī)內(nèi)部電路的邏輯紊亂,F(xiàn)lash的讀寫信號(hào)處于不穩(wěn)定狀態(tài)??赡墚a(chǎn)生滿足Flash的寫操作,從而給系統(tǒng)帶來嚴(yán)重的損害。針對(duì)以上情況,可以在系統(tǒng)中加入電源監(jiān)控芯片或使能MCU本身的電源監(jiān)控電路,在電源異常的情況下禁止對(duì)Flash區(qū)域操作。

3、系統(tǒng)時(shí)鐘不穩(wěn)定

無論對(duì)于內(nèi)部Flash還是外部Flash,系統(tǒng)時(shí)鐘的不穩(wěn)定,都將導(dǎo)致MCU得不到可靠的工作時(shí)序信號(hào),從而在讀寫Flash時(shí)產(chǎn)生不可預(yù)料的后果。

4、環(huán)境干擾

環(huán)境干擾的可能原因很多,如生產(chǎn)過程中的高溫焊接、靜電、使用環(huán)境的溫濕度,強(qiáng)磁場(chǎng)等,都可能影響到Flash或整個(gè)系統(tǒng)的穩(wěn)定。環(huán)境干擾的因素很多,在此不展開討論。

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635295
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1635

    瀏覽量

    148023
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62618
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問28035的LIN模塊詳細(xì)說明

    我在網(wǎng)上包括controlsuite里面都沒有找到關(guān)于 28035LIN模塊的詳細(xì)說明,比如寄存器操作(每個(gè)寄存器里面都是什么內(nèi)容)之類的,麻煩給我鏈接!
    發(fā)表于 11-23 09:46

    電子管的代換資料詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是電子管的代換資料詳細(xì)說明。
    發(fā)表于 09-26 07:24

    EEPROM數(shù)據(jù)丟失原因分析

    內(nèi)容介紹眾多EEPROM數(shù)據(jù)丟失原因
    發(fā)表于 05-24 11:35 ?102次下載
    EEPROM<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>丟失</b><b class='flag-5'>原因</b>分析

    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>程序<b class='flag-5'>原因</b>

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

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

    51單片機(jī)的頭文件哪些代碼詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的頭文件哪些代碼詳細(xì)說明。
    發(fā)表于 09-18 17:21 ?7次下載
    51單片機(jī)的頭文件<b class='flag-5'>有</b>哪些代碼<b class='flag-5'>詳細(xì)說明</b>

    使用SQL語句創(chuàng)建數(shù)據(jù)庫的實(shí)例詳細(xì)說明

      本文檔的主要內(nèi)容詳細(xì)介紹的是使用SQL語句創(chuàng)建數(shù)據(jù)庫的實(shí)例詳細(xì)說明。
    發(fā)表于 11-07 14:35 ?19次下載

    使用Cmake配置opencv的教程詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用Cmake配置opencv的教程詳細(xì)說明
    發(fā)表于 11-21 14:09 ?4次下載

    提高LabVIEW開發(fā)速度的方法哪些25個(gè)技巧詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是提高LabVIEW開發(fā)速度的方法哪些25個(gè)技巧詳細(xì)說明。
    發(fā)表于 12-04 17:29 ?20次下載
    提高LabVIEW開發(fā)速度的方法<b class='flag-5'>有</b>哪些25個(gè)技巧<b class='flag-5'>詳細(xì)說明</b>

    Altium Designer版本14.2的發(fā)行說明詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Altium Designer版本14.2的發(fā)行說明詳細(xì)說明
    發(fā)表于 12-23 08:00 ?0次下載
    Altium Designer版本14.2的發(fā)行<b class='flag-5'>說明</b><b class='flag-5'>詳細(xì)說明</b>

    常用小型穩(wěn)壓LDO等芯片哪些詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是常用小型穩(wěn)壓LDO等芯片哪些詳細(xì)說明
    發(fā)表于 01-13 16:53 ?41次下載

    如何使用串口工具連接OneNET上報(bào)數(shù)據(jù)AT命令流程的代碼詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用串口工具連接onenet上報(bào)數(shù)據(jù)AT命令流程的代碼詳細(xì)說明,興趣的朋友可以看看
    發(fā)表于 03-17 08:00 ?3次下載
    如何使用串口工具連接OneNET上報(bào)<b class='flag-5'>數(shù)據(jù)</b>AT命令流程的代碼<b class='flag-5'>詳細(xì)說明</b>

    如何使用Python繪制PDF文件教程詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用Python繪制PDF文件教程詳細(xì)說明。
    發(fā)表于 08-27 11:48 ?12次下載
    如何使用Python繪制PDF文件教程<b class='flag-5'>詳細(xì)說明</b>

    Android的歷史版本詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Android的歷史版本詳細(xì)說明。
    發(fā)表于 09-18 08:00 ?0次下載

    FPGA的入門基礎(chǔ)知識(shí)詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA的入門基礎(chǔ)知識(shí)詳細(xì)說明。
    的頭像 發(fā)表于 12-20 10:13 ?9526次閱讀
    FPGA的入門基礎(chǔ)知識(shí)<b class='flag-5'>詳細(xì)說明</b>