資料介紹
隨著嵌入式技術的不斷發(fā)展,嵌入式系統的應用越來越廣泛,人們對于嵌入式系統功能的要求也越來越高,相應地其大容量數據存儲和管理變得越來越重要。相對硬盤而言,FLASH等非易失性存儲器具有體積小、功耗低、成本低、抗震強等優(yōu)點,已在嵌入式系統中被大量作為存儲設備使用,而大容量非易失數據存儲方案的應用還存在成本和軟件支持方面的問題需要克服。大頁NAND FLASH具有寫入速度快、容量大、成本低等優(yōu)點,適合于需要進行數據存儲的場合。YAFFS2作為專門支持大頁NAND FLASH的文件系統在U-Boot和嵌入式Linux上一直沒有得到正式支持。本文結合部隊應用實際,在嵌入式Linux系統中實現了大頁NAND FLASH和YAFFS2文件系統的結合,為裝備的數據存儲處理搭建起了小型的智能化平臺。本文內容安排如下,首先介紹系統存儲方案特點和YAFFS2數據在大頁NAND FLASH上的儲存方式,然后詳細敘述系統移植和文件系統制作過程,最后對移植結果進行測試。
l 系統存儲方案設計
某國產化設備用于取代隨裝多臺套設備,除完成原設備的數據記錄功能外,還需進行數據翻譯、判讀,數據分析處理,二維顯示和三維動態(tài)復現等功能;同時,需存儲裝備長時間工作輸出的所有原始數據信息,類似黑匣子功能,以供事后分析使用。具有程序量大,數據需實時存儲,且數據存儲量大的特點。板上存儲設備包括SDRAM和FLASH,SDRAM為易失性存儲器,作為程序的運行空間和記錄數據的緩存空間;FLASH為非易失性存儲器,用于存儲系統軟件程序和記錄數據。
嵌入式系統中應用的FLASH主要有NORFLASH和NAND FLASH兩種。NOR FLASH的塊大小范圍為64~128 KB,其容量一般為l~32 MB,可作為嵌入式設備的啟動設備,適合于代碼存儲。NAND FLASH的塊大小范圍為8~64 KB,容量一般為8~512 MB,適合于數據存儲。它們之間的主要差別有以下幾點。
?。?)速度。在寫數據和擦除數據時,NANDFLASH支持整塊擦寫操作,其速度比NOR FLASH要快得多,兩者相差近千倍;讀取時,NAND FLASH要先向芯片發(fā)送地址信息進行尋址才能開始讀寫數據,而NOR FLASH的操作則是以字或字節(jié)為單位進行的,直接讀取,所以讀取數據時,NOR FLASH效率更高。
(2)容量和成本。NOR FLASH的每個存儲單元與位線相連,增加了芯片內位線的數量,不利于存儲密度的提高。在面積和工藝相同的情況下,NANDFLASH的容量比NOR FLASH要大得多,生產成本更低。
?。?)易用性。NAND FLASH的I/O端口采用復用的數據線和地址線,必須先通過寄存器串行地進行數據存取,各個產品或廠商對信號的定義不同,增加了應用的難度;NOR FLASH有專用的地址引腳來尋址,較容易與其他芯片進行連接,另外還支持片上執(zhí)行XIP(eXecute In Place),應用程序可以直接在FLASH內部運行,簡化了產品設計。
?。?)可靠性。由于FLASH的電器特性,在讀/寫數據過程中,會產生比特位反轉,造成一位或幾位數據錯誤。NAND FLASH位反轉的幾率比NOR FLASH高,在使用時需要使用EDC/ECC算法。NANDFLASH還可能會隨機分布壞塊。
?。?)耐久性。FLASH由于寫入和擦除數據時會導致介質的氧化降解,導致芯片老化,所以并不適合頻繁地擦寫,NAND FLASH的擦寫次數是100萬次,而NOR FLASH只有10萬次。
基于以上分析,為了滿足經常性的進行實時快速大容量數據存儲和較長使用壽命的要求,采用NANDFLASH來存儲操作系統和數據,其復雜操作、比特位反轉和壞塊等問題可以通過文件系統解決。NORFLASH因為出現位反轉和壞塊的幾率小,并且讀取速度快,用來存儲啟動程序,能保證正常啟動系統的前提下提高設備反應時間。整個系統的存儲空間分配如圖1所示。

整個系統存儲空間由SDRAM,NOR FLASH,NAND FLASH組成。其中,sDRAM分成程序空間(Prog Space)和數據空間(Data Space)。NORFLASH存儲系統啟動程序U-Boot;NAND FLAsH分成程序空間(Prog Space)和數據空間(Data Space),程序空間中固化存儲Linux操作系統和YAFFS2文件系統及相應的應用程序,在U-Boot的控制下,通過頁傳輸方式讀入SDRAM程序空間中;數據空間中存儲來自前端的原始數據,該數據在SDR-AM中打包,以頁方式將數據寫入NAND FLASH中,提高數據寫入速度。
對小頁NAND FLASH的文件系統支持已有比較多的編程實例可借鑒,而對本文使用的大頁NANDFLASH的編程支持還沒有完整的說明。因此,移植嵌入式操作系統,以建立對大頁NAND FLASH支持的文件系統是該存儲方案需解決的關鍵問題。
l 系統存儲方案設計
某國產化設備用于取代隨裝多臺套設備,除完成原設備的數據記錄功能外,還需進行數據翻譯、判讀,數據分析處理,二維顯示和三維動態(tài)復現等功能;同時,需存儲裝備長時間工作輸出的所有原始數據信息,類似黑匣子功能,以供事后分析使用。具有程序量大,數據需實時存儲,且數據存儲量大的特點。板上存儲設備包括SDRAM和FLASH,SDRAM為易失性存儲器,作為程序的運行空間和記錄數據的緩存空間;FLASH為非易失性存儲器,用于存儲系統軟件程序和記錄數據。
嵌入式系統中應用的FLASH主要有NORFLASH和NAND FLASH兩種。NOR FLASH的塊大小范圍為64~128 KB,其容量一般為l~32 MB,可作為嵌入式設備的啟動設備,適合于代碼存儲。NAND FLASH的塊大小范圍為8~64 KB,容量一般為8~512 MB,適合于數據存儲。它們之間的主要差別有以下幾點。
?。?)速度。在寫數據和擦除數據時,NANDFLASH支持整塊擦寫操作,其速度比NOR FLASH要快得多,兩者相差近千倍;讀取時,NAND FLASH要先向芯片發(fā)送地址信息進行尋址才能開始讀寫數據,而NOR FLASH的操作則是以字或字節(jié)為單位進行的,直接讀取,所以讀取數據時,NOR FLASH效率更高。
(2)容量和成本。NOR FLASH的每個存儲單元與位線相連,增加了芯片內位線的數量,不利于存儲密度的提高。在面積和工藝相同的情況下,NANDFLASH的容量比NOR FLASH要大得多,生產成本更低。
?。?)易用性。NAND FLASH的I/O端口采用復用的數據線和地址線,必須先通過寄存器串行地進行數據存取,各個產品或廠商對信號的定義不同,增加了應用的難度;NOR FLASH有專用的地址引腳來尋址,較容易與其他芯片進行連接,另外還支持片上執(zhí)行XIP(eXecute In Place),應用程序可以直接在FLASH內部運行,簡化了產品設計。
?。?)可靠性。由于FLASH的電器特性,在讀/寫數據過程中,會產生比特位反轉,造成一位或幾位數據錯誤。NAND FLASH位反轉的幾率比NOR FLASH高,在使用時需要使用EDC/ECC算法。NANDFLASH還可能會隨機分布壞塊。
?。?)耐久性。FLASH由于寫入和擦除數據時會導致介質的氧化降解,導致芯片老化,所以并不適合頻繁地擦寫,NAND FLASH的擦寫次數是100萬次,而NOR FLASH只有10萬次。
基于以上分析,為了滿足經常性的進行實時快速大容量數據存儲和較長使用壽命的要求,采用NANDFLASH來存儲操作系統和數據,其復雜操作、比特位反轉和壞塊等問題可以通過文件系統解決。NORFLASH因為出現位反轉和壞塊的幾率小,并且讀取速度快,用來存儲啟動程序,能保證正常啟動系統的前提下提高設備反應時間。整個系統的存儲空間分配如圖1所示。

整個系統存儲空間由SDRAM,NOR FLASH,NAND FLASH組成。其中,sDRAM分成程序空間(Prog Space)和數據空間(Data Space)。NORFLASH存儲系統啟動程序U-Boot;NAND FLAsH分成程序空間(Prog Space)和數據空間(Data Space),程序空間中固化存儲Linux操作系統和YAFFS2文件系統及相應的應用程序,在U-Boot的控制下,通過頁傳輸方式讀入SDRAM程序空間中;數據空間中存儲來自前端的原始數據,該數據在SDR-AM中打包,以頁方式將數據寫入NAND FLASH中,提高數據寫入速度。
對小頁NAND FLASH的文件系統支持已有比較多的編程實例可借鑒,而對本文使用的大頁NANDFLASH的編程支持還沒有完整的說明。因此,移植嵌入式操作系統,以建立對大頁NAND FLASH支持的文件系統是該存儲方案需解決的關鍵問題。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式系統系列叢書-時間觸發(fā)嵌入式系統設計模式 0次下載
- 嵌入式linux系統中常用的文件系統
- 嵌入式系統
- 嵌入式的固件燒錄方式
- 嵌入式linux和桌面linux的區(qū)別
- 嵌入式系統定義
- DSP與MCU在嵌入式系統中的應用
- 如何實現Linux內核移植和yaffs2根文件系統制作 9次下載
- 嵌入式硬件系統教程之嵌入式存儲技術的詳細資料說明 14次下載
- YAFFS文件系統在C51系統上的實現過程解析 0次下載
- 超大容量NANDFlash文件系統-YAFFS2在Linux下的實現 11次下載
- 分析YAFFS文件系統在Linux系統中的構建 0次下載
- 基于ARM和DSP的嵌入式導航計算機方案設計
- YAFFS嵌入式文件系統應用研究
- 一種嵌入式系統本地數據存儲方案的設計與研究
- 嵌入式fpga是什么意思 2.8k次閱讀
- 什么是嵌入式系統?嵌入式系統的具體應用 4k次閱讀
- 分享一種嵌入式系統自動化測試的詳細方案 3.9k次閱讀
- 嵌入式系統的全面解析 3.7k次閱讀
- 如何實現嵌入式系統遠程調試 6.7k次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之二文件系統 5.8k次閱讀
- 具備M2M功能的嵌入式網絡解決方案將成為未來的走向 1.4k次閱讀
- 基于μC/OS嵌入式操作系統的嵌入式數據管理設計 2.3k次閱讀
- 基于嵌入式實時系統的提高構件化嵌入式操作系統性能的方案設計 1.2k次閱讀
- 關于嵌入式系統以及其在印刷設備中的解決方案及應用淺析 945次閱讀
- 嵌入式環(huán)境下的輕量級GUI系統解決方案設計詳解 8.2k次閱讀
- 關于嵌入式軟件系統測試策略和方案設計詳解 9.7k次閱讀
- 隨機存儲器在嵌入式操作系統中的應用設計詳解 1.9k次閱讀
- 基于Nand Flash 存儲技術的嵌入式linux 系統設計 1.9k次閱讀
- 典型的嵌入式系統設計 3.1k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關型降壓3.5A單節(jié)鋰電池充電管理電路技術手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構、3路千兆網,賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯網、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論