常見的 MCU 快閃記憶體 (flash memory) 問題

快閃記憶體是許多微控制器(MCU)的一個重要組成部分,是一種非揮發性記憶體。可是,有時可能會遇到由於意外事故而造成難以解決的快閃記憶體問題,以下提示可能有助於解決一些常見的單晶片快閃記憶體問題。

問題可能來自 建議解決方案
(1) 電源電壓不穩定或突然斷電 (i) 檢查電源電壓與 MCU 之間的連接是否良好
(ii) 確保電源正常運作
(iii) 將 MCU 遠離 EMI 和 ESD 的干擾
(2) 違反系統所需的頻率範圍 檢查工作電壓和頻率是否在 MCU 的規格範圍內
(3) 快閃記憶體編程期間出現電壓故障 (i) 確保編程時電源電壓穩定
(ii) 有些 MCU,例如一些 TIMSP430 在快閃記憶體控制暫存器中具有 VPE 位元。如果當電源電壓發生顯著變化時,VPE 位元發出訊號。 請參閱 MCU 的規格書和使用者指南,以確定 MCU 是否提供此功能。
(4) 不合適的時脈源支援快閃記憶體時脈產生器 (i) 檢查時脈來源是否適合快閃記憶體控制器或是否超出規格
(ii) 依照規格書中的頻率要求,正確劃分時脈源
(5) 意外刪除 (i) 分配記憶體時,遵循快閃記憶體邊界的要求
(ii) 如果可以,在擦除前先將資料儲存到 RAM 中
(6) 程式設計工具無法辨識 MCU (i) 更新最新的工具應用程式
(ii) 檢查硬體的連接

這裡有一篇相關文章,可以幫助您更了解如何調試微控制器的快閃記憶體問題。
TI 文章:Debugging Flash Issues on the MSP430™ Family of Microcontrollers