flash與eeprom的區別(源自電子發燒友網)

flash是用來放程序的,可以稱之為程序存儲器,可以擦出寫入但是基本都是整個扇區進行的。一般來說 單片機裡的flash都用於存放運行代碼,在運行過程中不能改;EEPROM是用來保存用戶數據,運行過程中可以改變,比如一個時鐘的鬧鈴時間初始化設定為12:00,後來在運行中改為6:00,這是保存在EEPROM裡,不怕掉電,就算重新上電也不需要重新調整到6:00。

FLASH 和EEPROM的最大區別是FLASH按扇區操作,EEPROM則按字節操作,二者尋址方法不同,存儲單元的結構也不同,FLASH的電路結構較簡單,同樣容量佔芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲器,EEPROM則更多的用作非易失的數據存儲器。

當然用FLASH做數據存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設計往往只有 FLASH,早期可電擦寫型MCU則都是EEPRM結構,現在已基本上停產了。

在芯片的內電路中,FLASH和EEPROM不僅電路不同,地址空間也不同,操作方法和指令自然也不同,不論馮諾伊曼結構還是哈佛結構都是這樣。技術上,程序存儲器和非易失數據存儲器都可以只用FALSH結構或EEPROM結構,甚至可以用“變通”的技術手段在程序存儲區模擬“數據存儲區”,但就算如此,概念上二者依然不同,這是基本常識問題。

EEPROM:電可擦除可編程只讀存儲器,Flash的操作特性完全符合EEPROM的定義,屬EEPROM無疑,首款Flash推出時其數據手冊上也清楚的標明是EEPROM,現在的多數Flash手冊上也是這麼標明的,二者的關係是“白馬”和“馬”。

至於為什麼業界要區分二者,主要的原因是 Flash EEPROM的操作方法和傳統EEPROM截然不同,次要的原因是為了語言的簡練,非正式文件和口語中Flash EEPROM就簡稱為Flash,這裡要強調的是白馬的“白”屬性而非其“馬”屬性以區別Flash和傳統EEPROM。


分享到:


相關文章: