《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業(yè)界動態(tài) > Flash數(shù)據(jù)不翼而飛了?

Flash數(shù)據(jù)不翼而飛了?

2019-06-27

  芯片貼板后跑不起來?Flash里面的數(shù)據(jù)在使用過程中莫名改變或不翼而飛?重新下載程序后又可以運行?這究竟是為什么呢?

  1、用戶代碼對Flash的誤操作不當引起程序丟失或被錯誤改寫

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

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

  

1561601415150326.png

  圖1  Flash保護

  2、電源失效

  

2.png

  圖2  電源噪聲嚴重

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

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

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

  4、環(huán)境干擾

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


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。