導航:首頁 > 編程系統 > linuxram與flash內存

linuxram與flash內存

發布時間:2024-12-28 19:58:47

A. 內存問題 請問內存就一定是RAM嗎 SDRAM有什麼區別 像EEPROM 和nandflash或者norflash可以作為內存嗎

先說RAM吧!!
由字面意思就可以理解,SDRAM SRAM DRAM都可以統稱RAM,random access memory的縮寫,只是前面加了幾個修飾詞而已。
SRAM:靜態隨機存儲器,就是它不需要刷新電路,不像動態隨機存儲器那樣,每隔一段時間就要刷新一次數據。但是他集成度比較低,不適合做容量大的內存,一般是用在處理器的緩存裡面。像S3C2440的ARM9處理器裡面就有4K的SRAM用來做CPU啟動時用的。
SDRAM:同步動態隨機存儲器,像電腦的內存就是用的這種RAM叫DDR SDRAM。其集成度非常高,因為是動態的,所以必須有刷新電路,每隔一段時間必須得刷新數據。其存儲單元不是按線性排列的,是分頁的。一般的嵌入式產品裡面的內存都是用的SDRAM。
DRAM:動態隨機存儲器,SDRAM只是其中的一種吧,沒用過,不怎麼清楚。
ROM:只讀存儲器的總稱。
PROM:可編程只讀存儲器,只能寫一次,寫錯了就得報廢,現在用得很少了,好像那些成本比較低的OPT單片機裡面用的就是這種存儲器吧。
EPRM:沒見過,不知道什麼東西。網上也找不到相關的東西。是EPROM吧?
EPROM:可擦除可編程存儲器,這東西也比較古老了,是EEPROM的前身,在晶元的上面有個窗口,通過紫外線的照射來擦除數據。非常之麻煩。
EEPROM:電可擦除可編程只讀存儲器,比之EPROM就先進點了,可以用電來擦除裡面對數據,也是現在用得比較多的存儲器,比如24CXX系列的EEPROM。
NANDFLASH和NORFLASH都是現在用得比較多的非易失性快閃記憶體。NOR採用的並行介面,其特點讀取的速度比之NAND快樂很多倍,其程序可以直接在NOR裡面運行。但是它的擦除速度比較慢,集成度低,成本高的。現在的NOR的容量一般在2M左右,一般是用在代碼量小的嵌入式產品方面。還有就是在ARM9的開發板上可以看見。
而NAND呢,採用的是串列的介面,CPU從裡面讀取數據的速度很慢,所以一般用NAND做快閃記憶體的話就必須把NAND裡面的數據先讀到內存裡面,然後CPU才能夠執行。就跟電腦的硬碟樣的。但是它的集成度很高,我的ARM9的開發板上面一塊256M的NAND還沒有一塊2M的NOR的一半大,所以成本很低。還有就是它的擦除速度也的NOR要快。要不然的話那就真的悲劇了,假如擦除一塊2M的NOR要一分鍾,如果NAND的擦除速度比NOR還要慢,那擦除一塊256M的NAND不是要幾個小時。NAND一般是用在那些要跑大型的操作系統的嵌入式產品上面,比如linux啊,WINCE啊。NOR可是可以跑,可以把LINUX操作系統剪裁到2M以內,一個產品難道只去跑系統嗎?用戶的應用程序呢!其實很多時候,一個嵌入式產品裡面,操作系統占的存儲空間只是一小部分,大部分都是給用戶跑應用程序的。就像電腦,硬碟都是幾百G,可是WINDOWNS操作系統所佔的空間也不過幾G而已。
我知道的都說了,忘採納

B. Linux 內核驅動解析 - UBI壞塊預留大小

在處理ubifs相關bug的過程中,學習了ubi驅動對壞塊保留分區的處理方式。ubi是Unsorted Block Image的簡稱,構建於MTD之上,可操控大容量的Nand flash。mtd是用於訪問內存設備(如RAM, Flash)的Linux 子系統。在嵌入式linux設備中,每個分區對應一個/dev/mtdxx文件。對於數據分區,即mtd20,學習了其對壞塊的保留處理。UBI headers在每個非壞塊物理擦除塊的開頭存儲了兩個小的64位元組頭部。在內核UBI驅動的build.c/ubi_attach_mtd_dev函數中列印了UBI設備的載入信息。通過console log,可以獲取掛載的分區名稱、PEB和LEB大小、UBI共包含的LEBs數量及剩餘LEBs數量、無壞塊數量以及用於壞塊處理的保留部分大小。開機過程中自動列印的UBI信息可以通過手動運行ubinfo命令獲取。用戶空間的ubi-utils代碼庫中的ubinfo.c/print_dev_info函數列印保留大小,值來源於/sys/class/ubi/ubi0/reserved_for_bad文件。內核空間的ubi_attach_mtd_dev函數用於附加MTD設備到UBI並分配@ubi_num給新創建的UBI設備,在此過程中列印了UBI設備的相關信息。通過函數ubi_calculate_reserved計算beb_rsvd_pebs,即為壞塊預留的大小。bad_peb_limit的計算考慮了最壞情況,即所有壞塊都出現在附加了ubi的MTD分區,因此使用的是整個flash大小。最終計算得到的bad_peb_limit為20 PEBs,與ubinfo -a中的結果一致。整個過程從console log分析、用戶空間和內核空間的追蹤,清晰地解析了ubi驅動對壞塊保留分區的處理方式。

C. 適用於RAM、NOR FLASH和NAND FLASH的文件系統有那些適用於RAM、NOR FLASH和NAND FLASH的文件系統有那些

1、適用於RAM的一般是虛擬文件系統,Linux引入了虛擬文件系統VFS(Virtual File System),為各類文件系統提供統一的操作界面和應用編程介面,/proc/下就是這樣的文件系統,掉電會丟失;
2、NOR FLASH:JFFS主要用於NOR型快閃記憶體,基於MTD驅動層,JFFS是可讀寫的、支持數據壓縮的、基於哈希表的日誌型文件系統,並提供了崩潰/掉電安全保護,提供「寫平衡」支持等功能,但是缺點:當文件系統已滿或接近滿時,因為垃圾收集的關系而使jffs2的運行速度大大放慢,不適合NAND FLASH上使用;
3、NAND FLASH: yaffs/yaffs2是專為嵌入式系統使用NAND型快閃記憶體而設計的一種日誌型文件系統。與jffs2相比,它減少了一些功能(例如不支持數據壓縮),所以速度更快,掛載時間很短,對內存的佔用較小。yaffs是跨平台的文件系統,除了Linux和eCos,還支持WinCE, pSOS和ThreadX等;yaffs與yaffs2的主要區別在於:前者僅支持小頁(512 Bytes) NAND快閃記憶體,後者則可支持大頁(2KB) NAND快閃記憶體。與JFFS相比,yaffs2在內存空間佔用、垃圾回收速度、讀/寫速度等方面均有大幅提升。

希望這個答案能夠使你滿意!

閱讀全文

與linuxram與flash內存相關的資料

熱點內容
win10vb不能被載入 瀏覽:18
廣數車床不用代碼怎麼編程 瀏覽:874
word刪除標尺線 瀏覽:442
ps儲存錯誤後如何找會源文件 瀏覽:145
iphone4格式化但要密碼 瀏覽:109
戶戶通電視恢復出廠數據怎麼辦 瀏覽:957
資料庫3m結構 瀏覽:131
編程序時要硬體介面參數是指什麼 瀏覽:106
iphone6信任限制在哪裡 瀏覽:734
編程div如何居中 瀏覽:538
怎樣用記事本編寫路徑拷貝文件 瀏覽:849
那個手機app怎麼連接 瀏覽:748
手機軟排數據線四根線怎麼接 瀏覽:919
看新聞在哪個app看 瀏覽:138
存儲的業務數據是什麼 瀏覽:260
日本ip密碼錯誤 瀏覽:63
tf卡能自己寫程序嗎 瀏覽:775
qq45454 瀏覽:324
2個獨立excel文件並排查看 瀏覽:138
excel文件轉換提示異常 瀏覽:461

友情鏈接