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

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

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

Flash的誤操作不當致使程序丟失或被錯誤改寫

AGk5_ZLG_zhiyua ? 來源:YXQ ? 2019-08-06 16:54 ? 次閱讀

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

1

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

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

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

圖1 Flash保護

2

電源失效

圖2 電源噪聲嚴重

電源電壓的異??赡軙е孪到y(tǒng)單片機系統(tǒng)工作異常的現(xiàn)象,如輸出電壓小于單片機系統(tǒng)工作所需的最小電壓,輸出電壓不干凈,噪音嚴重等,這些很容易引起單片機內(nèi)部電路的邏輯紊亂,F(xiàn)lash的讀寫信號處于不穩(wěn)定狀態(tài)。可能產(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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1614

    瀏覽量

    147667
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6837

    瀏覽量

    88754

原文標題:為何你的Flash數(shù)據(jù)會不翼而飛?

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ROM數(shù)據(jù)丟失的常見原因

    的常見原因 1. 硬件故障 1.1 物理損壞 ROM芯片可能因為物理沖擊、高溫、濕度、腐蝕等因素而損壞。這些因素可能導致芯片內(nèi)部電路斷裂短路,從而造成數(shù)據(jù)丟失。 1.2 老化 隨著時間的推移,ROM芯片會逐漸老化,其性能會逐漸下降。老化的ROM芯片可能會出現(xiàn)數(shù)據(jù)讀寫
    的頭像 發(fā)表于 11-04 10:29 ?161次閱讀

    plc什么情況下會導致程序丟失

    程序可能會丟失。 電源故障 電源故障是導致PLC程序丟失的常見原因之一。當PLC的電源突然中斷電壓波動過大時,可能會導致
    的頭像 發(fā)表于 08-19 09:14 ?970次閱讀

    plc程序丟失怎么恢復回來

    因為各種原因丟失,如硬件故障、軟件錯誤、人為操作失誤等。 1. 確定程序丟失的原因 在開始恢復程序
    的頭像 發(fā)表于 07-25 10:08 ?1667次閱讀

    怎么判斷PLC程序丟失

    PLC程序丟失并及時采取措施是非常重要的。 程序丟失的原因 在討論如何判斷PLC程序丟失之前,我
    的頭像 發(fā)表于 07-25 10:01 ?963次閱讀

    STM32F4上電不啟動,固件損壞,程序丟失的原因?

    STM32F407ZET6 PDR_ON 143引腳0R電阻接地。 上下電程序出現(xiàn)無法運行的現(xiàn)象,出現(xiàn)異常后讀回MCU FLASH數(shù)據(jù)比對,FLASH一段空間范圍內(nèi)的數(shù)據(jù)
    發(fā)表于 07-23 06:26

    Ti60F100 內(nèi)外flash操作方案

    有客戶認為Ti60F100內(nèi)部flash容量比較小,只有16Mb,需要外掛flash.這里我們提供了內(nèi)部flash和外部flash分別操作
    的頭像 發(fā)表于 05-20 16:42 ?1373次閱讀
    Ti60F100 內(nèi)外<b class='flag-5'>flash</b><b class='flag-5'>操作</b>方案

    STM32F4在APP運行時導致IAP程序修改怎么解決?

    IAP程序修改無法運行,導致過程IAP卡死。 已驗證該錯誤發(fā)生在APP程序(地址0x08020000)中,僅IAP程序的首地址0x0800
    發(fā)表于 05-17 09:32

    stm32f469讀取內(nèi)部FLASH程序就會死掉的原因?

    如題,我將數(shù)據(jù)寫入指定的內(nèi)部FLASH的某個地址然后進行讀取,但是一讀整個程序就死了。我開始以為是我進行寫操作不當造成的,后來我測試不擦除內(nèi)部FLA
    發(fā)表于 04-26 07:51

    KT404C語音芯片外掛flash用一段時間之后數(shù)據(jù)改寫的問題查找

    了亂碼 3、將flash的bin文件讀出來,發(fā)現(xiàn)flash莫名其妙的改寫了 4、重新將音頻文件拷貝至flash里面,之后就完全正常了
    的頭像 發(fā)表于 03-27 13:46 ?359次閱讀
    KT404C語音芯片外掛<b class='flag-5'>flash</b>用一段時間之后數(shù)據(jù)<b class='flag-5'>被</b><b class='flag-5'>改寫</b>的問題查找

    STM32上下電內(nèi)部flash改寫的原因?

    基于STM32F405系列一個64pin MCU,在使用過程中,整機掉電更換另一個部件,再上電后發(fā)現(xiàn)這個產(chǎn)品不工作了。發(fā)回廠家發(fā)現(xiàn)STM32內(nèi)部flash數(shù)據(jù)改寫了,前幾行改成了0
    發(fā)表于 03-25 08:24

    Tasking誤操作導致MCU鎖怎么解決?

    硬件環(huán)境:infineon TriBoardDebugger:Start Kit(TriBoard自帶調(diào)試接口0) 在Tasking中Boot Mode Header中由于錯誤操作選擇了
    發(fā)表于 02-20 07:03

    導致PLC信號干擾的錯誤操作

    以下是一些可能導致PLC(可編程邏輯控制器)信號干擾的錯誤操作
    的頭像 發(fā)表于 01-22 10:05 ?516次閱讀

    labview 丟失外部符號依賴關(guān)系

    LabVIEW程序時,可能會遇到"丟失外部符號依賴關(guān)系"的錯誤。這種錯誤通常表示在程序中使用了
    的頭像 發(fā)表于 01-09 10:31 ?3365次閱讀

    準備time machine備份磁盤發(fā)生錯誤

    的問題,并提供逐步操作的教程,以確保你的備份可以順利進行。 第一部分:錯誤類型及常見原因 在使用Time Machine備份磁盤時,可能會遇到多種錯誤。以下是一些常見的錯誤類型及其可能
    的頭像 發(fā)表于 12-28 11:27 ?1013次閱讀

    ug內(nèi)部錯誤,內(nèi)存訪問違例怎么解決

    ug內(nèi)部錯誤,內(nèi)存訪問違例怎么解決 內(nèi)部錯誤和內(nèi)存訪問違例是編程中常見的問題,它們可能會導致應(yīng)用程序崩潰、數(shù)據(jù)丟失系統(tǒng)不穩(wěn)定。在本文中,我
    的頭像 發(fā)表于 12-27 16:27 ?5791次閱讀