nor flash啟動與nand flash啟動的區別
阿新 • • 發佈:2019-02-15
1)介面區別:
NOR FLASH地址線和資料線分開,來了地址和控制訊號,資料就出來。
NAND Flash地址線和資料線在一起,需要用程式來控制,才能出資料。
通俗的說,就是光給地址不行,要先命令,再給地址,才能讀到NAND的資料。而且都是在一個匯流排完成的。
結論是:ARM無法從NAND直接啟動。除非裝載完程式,才能使用NAND Flash.
● NOR的讀速度比NAND稍快一些。
● NAND的寫入速度比NOR快很多。
● NAND的4ms擦除速度遠比NOR的5s快。
● 大多數寫入操作需要先進行擦除操作。
● NAND的擦除單元更小,相應的擦除電路更少。
===========================================
ARM的nor flash與nand flash啟動過程區別
B,s3c2440啟動過程詳解
1 :地址空間的分配
2:開發板上一般都用SDRAM做記憶體,flash(nor、nand)來當做ROM。其中nand flash沒有地址線,一次至少要讀一頁(512B).其他兩個有地址線
3:nandflash不用來執行程式碼,只用來儲存程式碼,NORflash,SDRAM可以直接執行程式碼)
4:s3c2440總共有8個記憶體banks
6個記憶體bank可以當作ROM或者SRAM來使用
留下的2個bank除了當作ROM 或者SRAM,還可以用SDRAM(各種記憶體的讀寫方式不一樣)
7個bank的起始地址是固定的,還有一個靈活的bank的記憶體地址,並且bank大小也可以改變
5:s3c2440支援兩種啟動模式:NAND和非NAND(這裡是nor flash)。
具體採用的方式取決於OM0、OM1兩個引腳
OM[1:0所決定的啟動方式
OM[1:0]=00時,處理器從NAND Flash啟動
OM[1:0]=01時,處理器從16位寬度的ROM啟動
OM[1:0]=10時,處理器從32位寬度的ROM啟動。
OM[1:0]=11時,處理器從Test Mode啟動。
當從NAND啟動時
cpu會自動從NAND flash中讀取前4KB的資料放置在片內SRAM裡(s3c2440是soc),同時把這段片內SRAM對映到nGCS0片選的空間(即0x00000000)。cpu是從0x00000000開始執行,也就是NAND flash裡的前4KB內容。因為NAND FLASH連地址線都沒有,不能直接把NAND對映到0x00000000,只好使用片內SRAM做一個載體。通過這個載體把nandflash中大程式碼複製到RAM(一般是SDRAM)中去執行。
當從非NAND flash啟動時
nor flash被對映到0x00000000地址(就是nGCS0,這裡就不需要片內SRAM來輔助了,所以片內SRAM的起始地址還是0x40000000). 然後cpu從0x00000000開始執行(也就是在Norfalsh中執行)。
NOR FLASH地址線和資料線分開,來了地址和控制訊號,資料就出來。
NAND Flash地址線和資料線在一起,需要用程式來控制,才能出資料。
通俗的說,就是光給地址不行,要先命令,再給地址,才能讀到NAND的資料。而且都是在一個匯流排完成的。
結論是:ARM無法從NAND直接啟動。除非裝載完程式,才能使用NAND Flash.
2)效能區別
NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的效能。 NAND結構能提供極高的單元密度,可以達到高儲存密度,並且寫入和擦除的速度也很快。應用NAND的困難在於flash的管理和需要特殊的系統介面。● NOR的讀速度比NAND稍快一些。
● NAND的寫入速度比NOR快很多。
● NAND的4ms擦除速度遠比NOR的5s快。
● 大多數寫入操作需要先進行擦除操作。
● NAND的擦除單元更小,相應的擦除電路更少。
===========================================
ARM的nor flash與nand flash啟動過程區別
B,s3c2440啟動過程詳解
1
2:開發板上一般都用SDRAM做記憶體,flash(nor、nand)來當做ROM。其中nand flash沒有地址線,一次至少要讀一頁(512B).其他兩個有地址線
3:nandflash不用來執行程式碼,只用來儲存程式碼,NORflash,SDRAM可以直接執行程式碼)
4:s3c2440總共有8個記憶體banks
6個記憶體bank可以當作ROM或者SRAM來使用
留下的2個bank除了當作ROM 或者SRAM,還可以用SDRAM(各種記憶體的讀寫方式不一樣)
7個bank的起始地址是固定的,還有一個靈活的bank的記憶體地址,並且bank大小也可以改變
5:s3c2440支援兩種啟動模式:NAND和非NAND(這裡是nor flash)。
具體採用的方式取決於OM0、OM1兩個引腳
OM[1:0所決定的啟動方式
OM[1:0]=00時,處理器從NAND Flash啟動
OM[1:0]=01時,處理器從16位寬度的ROM啟動
OM[1:0]=10時,處理器從32位寬度的ROM啟動。
OM[1:0]=11時,處理器從Test Mode啟動。
當從NAND啟動時
cpu會自動從NAND flash中讀取前4KB的資料放置在片內SRAM裡(s3c2440是soc),同時把這段片內SRAM對映到nGCS0片選的空間(即0x00000000)。cpu是從0x00000000開始執行,也就是NAND flash裡的前4KB內容。因為NAND FLASH連地址線都沒有,不能直接把NAND對映到0x00000000,只好使用片內SRAM做一個載體。通過這個載體把nandflash中大程式碼複製到RAM(一般是SDRAM)中去執行。
當從非NAND flash啟動時
nor flash被對映到0x00000000地址(就是nGCS0,這裡就不需要片內SRAM來輔助了,所以片內SRAM的起始地址還是0x40000000). 然後cpu從0x00000000開始執行(也就是在Norfalsh中執行)。