1,RAM的分類
RAM分為兩大類,第一種稱為靜態RAM(static RAM/SRAM),這種RAM讀寫速度非常快,但價格昂貴,通常在要求苛刻的地方使用,比如CPU的一級二級緩沖;
第二種為動態RAM(Dynamic RAM/DRAM),DRAM的速度比SRAM慢很多,但依然遠比ROM快,且價格比SRAM便宜,計算機的內存就是DRAM;
計算機使用的內存稱為DDR RAM(Date-Rate RAM),它的基本特性與DRAM相同,區別是它可以在一個時鐘讀寫兩次數據,這樣數據傳輸速度就加倍了。(我們常說的“內存”基本等同于DRAM)
2,兩種FLASH
由于FLASH本身具備電子可擦除可編程(EEPROM)的性能,不會斷電丟失數據且可以快速讀取數據,因此幾乎全面替代了ROM,被用于存儲bootloader或者操作系統或者直接當U盤使用;
FLASH分為Nor flash與Nand flash,Nor flash與DRAM類似,用戶可以直接運行裝載在nor flash中的代碼,由于價格比SRAM便宜,因此可以減少SRAM容量進而節約成本;
用戶使用NorFlash還是Nand Flash取決于成本與空間,通常,容量不大且要求讀取速度的,會使用Nor Flash,而容量較大的信息則存儲于Nand Flash;
舉例
已知:這塊開發板來自三星,它的存儲包括:一塊4MB NOR FLASH,一塊256MB NAND Flash,64M 內存;
方法一:從NOR Flash啟動
Nor Flash啟動模式下,將編譯完成的bin文件燒入NorFlash,Nor Flash的基地址是0地址,片內RAM的0地址的0x40000000,Nor Flash直接與CPU傳輸數據,不需要通過片內RAM的中轉就可以啟動并運行;
方法二:從NAND Flash啟動
上一種方法可以正常啟動,但NorFlash價格較高,性價比低,因此可以采用方法二,S3C2440內部自帶一塊容量為4K的bootSRAM(叫做起步階石“Steppingstone”),0地址處為bootSRAM, 啟動前他里面是空的,啟動后S3C2440 先通過硬件機制將NANDFLASH的前4K內容拷貝他里面去,之后從0地址處開始執行。
S3C2440的NAND控制器會自動把NAND FLASH中的前4K代碼數據搬到內部SRAM中(地址為0x40000000),同時還把這塊SRAM地址映射到了0x00000000地址,CPU從0x00000000位置開始運行程序。
注:
如果程序編譯鏈接后大小小于4K,那么系統的啟動代碼中無需將程序從NANDFLASH 搬運到SDRAM 中后再去執行,因為所有的程序在啟動時即全部由NANDFLASH 拷貝到了bootSRAM中執行了;
如果系統中所編的程序編譯后大于4K,那么系統的啟動代碼中需要包含一段將系統的全部程序從NAND FLASH 搬運到SDRAM的代碼,系統啟動時 只將NAND FLASH 的前4K 拷貝到BootSRAM中;由于程序在NAND FLASH中是無法被執行的,所以前4K被拷貝到BootSRAM中需要有能將程序拷貝到SDRAM中的代碼。
審核編輯:劉清
-
嵌入式
+關注
關注
5082文章
19109瀏覽量
304837 -
RAM
+關注
關注
8文章
1368瀏覽量
114649 -
EEPROM
+關注
關注
9文章
1019瀏覽量
81564 -
Flash存儲
+關注
關注
0文章
38瀏覽量
8288
原文標題:RAM,ROM與Flash(2)
文章出處:【微信號:嵌入式的那些事兒,微信公眾號:嵌入式的那些事兒】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論