flash和eeprom的最大區別是flash按扇區操作,eeprom則按位元組操作,二者定址方法不同,儲存單元的結構也不同,flash的電路結構較簡單,同樣容量佔晶元面積較小,成本自然比eeprom低,因而適合用作程式儲存器,eeprom則更多的用作非易失的資料儲存器。當然用flash做資料儲存器也行,但操作比eeprom麻煩的多,所以更「人性化」的mcu設計會整合flash和eeprom兩種非易失性儲存器,而廉價型設計往往只有flash,早期可電擦寫型mcu則都是eeprm結構,現在已基本上停產了。
現在的微控制器,ram主要是做執行時資料儲存器,flash主要是程式儲存器,eeprom主要是用以在程式執行儲存一些需要掉電不丟失的資料.
1、ram
rom和ram指的都是半導體儲存器,rom是read only memory的縮寫,ram是random access memory的縮寫。rom在系統停止供電的時候仍然可以保持資料,而ram通常都是在掉電之後就丟失資料,典型的ram就是計算機的記憶體。
sram和dram區別
ram有兩大類:
一種稱為靜態ram(static ram/sram),sram速度非常快,是目前讀寫最快的儲存裝置了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如cpu的一級緩衝,二級緩衝。
另一種稱為動態ram(dynamic ram/dram),dram保留資料的時間很短,速度也比sram慢,不過它還是比任何的rom都要快,但從**上來說dram相比sram要便宜很多,計算機記憶體就是dram的。
dram
dram分為很多種,常見的主要有fpram/fastpage、edoram、sdram、ddr ram、rdram、sgram以及wram等,這裡介紹其中的一種ddr ram。
ddr ram(date-rate ram)也稱作ddr sdram,這種改進型的ram和sdram是基本一樣的,不同之處在於它可以在乙個時鐘讀寫兩次資料,這樣就使得資料傳輸速度加倍了。這是目前電腦中用得最多的記憶體,而且它有著成本優勢,事實上擊敗了intel的另外一種記憶體標準-rambus dram。在很多高階的顯示卡上,也配備了高速ddr ram來提高頻寬,這可以大幅度提高3d加速卡的畫素渲染能力。
2、rom
rom也有很多種,prom是可程式設計的rom,prom和eprom(可擦除可程式設計rom)兩者區別是,prom是一次性的,也就是軟體灌入後,就無法修改了,這種是早期的產品,現在已經不可能使用了,而eprom是通過紫外光的照射擦出原先的程式,是一種通用的儲存器。另外一種eeprom是通過電子擦出,**很高,寫入時間很長,寫入很慢。
手機軟體一般放在eeprom中,我們打**,有些最後撥打的號碼,暫時是存在sram中的,不是馬上寫入通過記錄(聯絡歷史儲存在eeprom中),因為當時有很重要工作(通話)要做,如果寫入,漫長的等待是讓使用者忍無可忍的。
flash儲存器又稱快閃儲存器,它結合了rom和ram的長處,不僅具備電子可擦除可程式設計(eeprom)的效能,還不會斷電丟失資料同時可以快速讀取資料(nvram的優勢)
rom(eprom)作為它們的儲存裝置,然而近年來 flash全面代替了rom(eprom)在嵌入式系統中的地位,用作儲存bootloader以及作業系統或者程式**或者直接當硬碟使用(u盤)。
目前flash主要有兩種nor flash和nadn flash。
3、flash
nor flash
nor flash的讀取和我們常見的sdram的讀取是一樣,使用者可以直接執行裝載在nor flash裡面的**,這樣可以減少sram的容量從而節約了成本。(一般程式執行需要將程式從eprom中讀取到ram中然後執行,但是nor flash可以直接讀取執行。)
nor flash帶有sram介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每乙個位元組。nor flash佔據了容量為1~16mb快閃儲存器市場的大部分。
nand flash
nand flash沒有採取記憶體的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個位元組,採用這種技術的flash比較廉價。使用者不能直接執行nand flash上的**,因此好多使用nand flash的開發板除了使用nand flah以外,還作上了一塊小的nor flash來執行啟動**。
nand結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。應用nand的困難在於flash的管理和需要特殊的系統介面。
一般小容量的用nor flash,因為其讀取速度快,多用來儲存作業系統等重要資訊,而大容量的用nand flash。
nor和nand 比較
1、效能比較:
● nor的讀速度比nand稍快一些。
● nand的寫入速度比nor快很多。
● nand的4ms擦除速度遠比nor的5s快。
● 大多數寫入操作需要先進行擦除操作。
● nand的擦除單元更小,相應的擦除電路更少。
2、介面差別:
nor flash帶有sram介面,有足夠的位址引腳來定址,可以很容易地訪問其內部的每乙個位元組。
nand器件使用複雜的i/o口來序列地訪問資料,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、位址和資料資訊。
3、容量和成本:
nor flash佔據了容量為1~16mb快閃儲存器市場的大部分,而nand flash只是用在8~128mb的產品當中,這也說明nor主要應用在**儲存介質中,nand適合於資料儲存。
4、可靠性和耐用性:
a) 壽命(耐用性)
在nand快閃儲存器中每個塊的最大擦寫次數是一百萬次,而nor的擦寫次數是十萬次。nand儲存器除了具有10比1的塊擦除週期優勢,典型的nand塊尺寸要比nor器件小8倍,每個nand儲存器塊在給定的時間內的刪除次數要少一些。
b) 位交換
在某些情況下(很少見,nand發生的次數要比nor多),乙個位元(bit)位會發生反轉或被報告反轉了。
位反轉的問題更多見於nand快閃儲存器,nand的**商建議使用nand快閃儲存器的時候,同時使用edc/ecc演算法。
這個問題對於用nand儲存多**資訊時倒不是致命的。當然,如果用本地儲存裝置來儲存作業系統、配置檔案或其他敏感資訊時,必須使用edc/ecc系統以確保可靠性。
5、易於使用:
可以非常直接地使用基於nor的快閃儲存器,可以像其他儲存器那樣連線,並可以在上面直接執行**。
由於需要i/o介面,nand要複雜得多。各種nand器件的訪問方法因廠家而異。
完!!!
stm32 Flash讀寫 庫函式
通過對stm32內部的flash的讀寫可以實現對stm32的程式設計操作。stm32 的內建可程式設計flash在許多場合具有十分重要的意義。如其支援icp特性使得開發人員對stm32可以警醒除錯開發,可以通過jtag和swd介面對stm32進行程式燒寫 支援iap特性使得開發人員可以在stm32執...
stm32flash的讀寫特性
在使用stm32自帶的flash儲存資料時候,如下特點必須知道 1 必須是先擦除乙個扇區,才能寫入 2 讀資料沒有限制 3 寫資料必須是2位元組,同時寫入位址以一定要考慮位元組對齊,4 一般都是在最後幾頁進行資料儲存的,確保資料量不超過flash的的大小,比如f103大容量是2k位元組,其實乙個扇區...
stm32 Flash讀寫 庫函式
stm32 的內建可程式設計flash在許多場合具有十分重要的意義。如其支援icp特性使得開發人員對stm32可以警醒除錯開發,可以通過jtag和swd介面對stm32進行程式燒寫 支援iap特性使得開發人員可以在stm32執行程式的時候對其內部程式進行更新操作。對一些對資料安全有要求的場合,可程式...