單片機內部Flash存儲丟失,造成嚴重問題,怎麼有效解決

筆者是一名擁有多年從事嵌入式開發,程序員工作經歷的科技工作者,在設計開發過程中,難免遇到一些問題

比如 使用STM32單片機進行程序開發,樣品小量測試時,功能測試都正常。但在大批量生產時,就會出現概率性的出現內部系統參數丟失的情況。

因為產線控制不良率要在千分之1,所以導致生產停拉,產品需要返工,事情很嚴重。

單片機內部Flash存儲丟失,造成嚴重問題,怎麼有效解決

參數存儲

後來經過不斷分析,與STM32的FAE進行聯合調試,然後從樣機測試,小批量測試,到大批量,確認驗收,解決了這個問題

因這個問題看不見摸不著,所以需要從以下幾個方面進行處理

1 存儲代碼不合理,需要有單獨的備份區,代碼存儲需要同時存兩個獨立扇區的備份區數據,並且能有有效驗真的校驗機制。能分辨當某一扇區丟失時,有效的切換到另一個扇區

2 一定要檢查全局變量和局部變量,不能有溢出現象,因為溢出後就有可能無意識修改參數

3 存儲的讀寫操作過程中要電壓穩定,前後操作要有一定的延時等待。

4 儘量減少整個系統的中斷響應

5 單片機供電電壓要穩定,不穩定的電壓容易造成數據丟失

因為每個項目代碼不一樣,這裡就不寫具體的代碼,只需要從上面幾個點去考慮,就能解決數據丟失問題。

善於總結經驗,能學習別人的經驗,才是一個優秀的程序,優秀的工程師進步的法寶!

想了解更多電子元器件,電子開發設計,嵌入式編程,研發相關管理知識或者觀點,請記得加【關注】,謝謝您


分享到:


相關文章: