色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>CramFS根文件系統的移植解析

CramFS根文件系統的移植解析

2017-11-06 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

根文件系統是構建一個uCLinux嵌入式系統的重要組成部分。目前嵌入式系統可以選擇的根文件系統有:Romfs、CramFS、Ramfs、Jffs2、Ext2等等,本系統采用CramFS作為uCLinux嵌入式系統的只讀根文件系統。本文討論了CramFS文件系統的特點,并詳細的說明了Nor Flash上建立一個uClinux的Cramfs根文件系統的一般步驟。
  一、引言
  隨著電子產業的不斷發展,基于ARM技術的系統設計和開發平臺越來越多地在控制類、消費類、通信類等電子產品中廣泛應用。從軟件角度上看,構建基于ARM技術的uClinux系統要涉及到引導加載程序、Linux 內核、文件系統、用戶應用程序幾部分的設計。
  文件系統是操作系統中用來管理用戶文件的內核軟件層。文件可能存在于磁盤、網絡或者是一些虛擬的文件。文件系統包括根文件系統和建立于內存設備之上文件系統。根文件系統是uClinux系統的核心部分,包含系統使用的軟件和庫,以及所有用來為用戶提供支持架構和用戶使用的應用軟件,并作為存儲數據讀寫結果的區域。由于嵌入式設備中Flash資源很緊張,如何有效地使用有限的存儲空間是嵌入式開發者必須考慮的,合適的文件系統格式是解決這一問題的關鍵所在。本文討論了只讀壓縮CramFS文件系統的特點,并詳細的說明了Nor Flash上建立一個uClinux的Cramfs根文件系統的一般步驟。
  二、開發環境簡介
  本系統采用的是宿主機+目標板的開發模式,宿主機為PC+Cygwin1.5.1 ,目標板為采用203MHz的ARM920T內核的處理器S3C2410x+uClinux, uClinux版本為2.4.18。在宿主機上將uClinux和應用程序編譯后,下載到目標板的Nor Flash中,啟動運行。使用的SDRAM是2片16MB的HY57v561620,工作在16bit雙字節模式下;使用的Flash是2片AMD AM29LV160DB,大小為2M字節,工作在16bit雙字節模式下。在開發的時候,將Boot Loader燒入AM29LV160DB的1-5扇區;將Linux內核映象文件zImage燒入6-17扇區;將CramFS文件系統映象文件燒入18-35扇區。
  三、 Cramfs文件系統簡介
  CramFS(Compressed Rom File System)是Linux Torvalds在Transmeta任職時,所參與開發的文件系統。它是針對Linux內核2.4之后的版本所設計的一種新型只讀文件系統,采用了zlib 壓縮,壓縮比一般可以達到1:2,但仍可以作到高效的隨機讀取,Linux系統中,通常把不需要經常修改的目錄壓縮存放,并在系統引導的時候再將壓縮文件解開。因為Cramfs不會影響系統的讀取文件的速度,而且是一個高度壓縮的文件系統。因此非常廣泛應用于嵌入式系統中。
  在嵌入式的環境之下,內存和外存資源都需要節約使用。如果使用RAMDISK方式來使用文件系統,那么在系統運行之后,首先要把Flash上的映像文件解壓縮到內存中,構造起RAMDISK環境,才可以開始運行程序。但是它也有很致命的弱點。在正常情況下,同樣的代碼不僅在Flash中占據了空間(以壓縮后的形式存在),而且還在內存中占用了更大的空間(以解壓縮之后的形式存在),這違背了嵌入式環境下盡量節省資源的要求。
  使用CramFS文件系統就是一種解決這個問題的方式。CramFS是一個壓縮格式的文件系統,它并不需要一次性地將文件系統中的所有內容都解壓縮到內存之中,而只是在系統需要訪問某個位置的數據的時候,馬上計算出該數據在CramFS中的位置,將它實時地解壓縮到內存之中,然后通過對內存的訪問來獲取文件系統中需要讀取的數據。CramFS中的解壓縮以及解壓縮之后的內存中數據存放位置都是由CramFS文件系統本身進行維護的,用戶并不需要了解具體的實現過程,因此這種方式增強了透明度,對開發人員來說,既方便,又節省了存儲空間。
  一個完整的cramfs文件系統通常包含以下幾個目錄:
  /linuxrc 啟動腳本文件,由Boot Loader核心命令行確定init=/linuxrc,加載/etc目錄為ramfs,(cramfs為只讀文件系統),拷貝/mnt/etc到/etc,配置文件目錄重新加載根文件系統和/etc文件系統,執行init進程。
  /bin 引導啟動所需的命令或用戶可能用的命令。
  /sbin 系統管理員服務程序,其中最重要的是供內核初始化之后執行的/sbin/init進程,系統啟動時由init解釋并運行/etc/inittab, inittab將指導int去調用一個系統初始化程序/etc/init.d/rcS。
  /etc 特定機器的配置文件以及用戶數據存放目錄,其中的所有內容是在內核運行后,由linuxrc 從/mnt/etc拷貝得到的。
  /lib 文件系統上的程序所需的動態庫。
  /dev 驅動程序存放目錄,可以在這里存放自己編寫的驅動程序。
  /usr 用于存放用戶程序和配置文件的目錄,可以根據需要進行設置。目錄下的/usr/etc/rc.local執行本地所需要的初始化,如安裝核心模塊,進行網絡,運行應用程序,啟動圖形界面等。/etc/modules.conf在系統運行期間自動加載模塊。
  /mnt 用于設備安裝的目錄。/mnt/etc/init.d/rcS完成各個文件系統的Mount,執行/usr/etc/rc.local;通過rcS可以調動dhcp程序配置網絡。rcS執行完以后,就會打開Shell。
  /proc 系統狀態文件目錄, 目錄中的文件可以用于訪問有關內核的狀態、計算機的屬性、正在運行的進程的狀態等信息。盡管 /proc 中的文件是虛擬的,但它們仍可以使用任何文件編輯器或像‘more’, ‘less’或 ‘cat’這樣的程序來查看。
  四、 Cramfs文件系統的移植過程
  文件系統是緊跟uCLinux內核放置,由內核加載,主要存放用戶應用程序和配置信息。CramFS文件系統的基本組成:初始化程序、Shell程序以及其他Linux常用工具、配置文件、鏈接庫、圖形界面程序和用戶應用程序等。本節將介紹移植CramFS文件系統的具體操作方法。
  4.1、在內核中加入對CramFS文件系統支持
  想要在系統中提供CramFS的能力,我們必須要在編輯uCliunx內核時把支持CramFS的選項加入。盡管uCLinux可以以模塊的形式加載各種類型的設備驅動上,但我們選擇直接把設備驅動及CramFS文件系統靜態地編譯進內核中。
  在Memory Technology Devices (MTD)選項中進行配置:
  Memory Technology Device (MTD) support[Y/m/n/?] Y 內存技術設備支持
  MTD partitioning support [Y/m/n/?] Y 支持MTD分區
  Direct char device access to MTD devices[Y/m/n/?] Y MTD字符設備直接訪問
  Caching block device access to MTD devices[Y/m/n/?] Y MTD塊設備緩沖訪問
  在File Systems選項中進行配置:
  Compressed ROM file system support [Y/m/n/?] Y ROM文件系統的支持
  完成上述修改并編譯后,完成uCliunx內核對CramFS文件系統的支持。
  4.2、 拷貝需要加入的其他文件和鏈接庫
  (1)、Busybox 是 Debian GNU/Linux 的大名鼎鼎的 Bruce Perens 首先開發的。Busybox 編譯出一個單個的獨立執行程序,就叫做 busybox。但是它可以根據配置,執行 ash shell的功能,以及幾十個各種小應用程序的功能。這其中包括有一個迷你的vi編輯器,系統不可或缺的/sbin/init程序,以及其他諸如 ifconfig, halt, reboot, mkdir, mount, ln, ls, echo, cat等等。而所有這一切功能卻只有區區1M左右的大小,Busybox已經成為構建嵌入式Linux文件系統的必備軟件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产中文视频无码成人精品 | 无限资源日本2019版免费 | 欧美日韩中文在线字幕视频 | 色偷偷亚洲男人天堂 | 么公在浴室了我的奶 | 范冰冰hdxxxx| 真实国产精品视频国产网 | 美女扒开尿口让男生添动态图 | 国产成a人片在线观看视频99 | 在线视频一区二区三区在线播放 | 国产精品久久久久久日本 | 精品高清国产a毛片 | 高肉黄暴NP文公交车 | 亚洲成人黄色在线 | 亚洲无AV在线中文字幕 | 精品国产品在线18年 | 亚洲欧美中文字幕网站大全 | 亚洲精品国产专区91在线 | 性色少妇AV蜜臀人妻无码 | 国产亚洲人成网站在线观看播放 | 中文字幕在线视频观看 | 双性精跪趴灌满h室友4p | 久久久黄色大片 | 中文字幕乱码亚洲无线三区 | 国产婷婷午夜精品无码A片 国产婷婷色综合AV蜜臀AV | 少妇精品无码一区二区三区 | 熟女久久久久久久久久久 | 巨乳中文无码亚洲 | 99国产热视频在线观看 | 蜜芽国产在线精品欧美 | 久久午夜宫电影网 | 国产亚洲精品a在线观看app | 国产在线观看免费观看 | 中文字幕欧美日韩VA免费视频 | 国产AV国产精品国产三级在线L | 野花影院手机在线观看 | 亚洲伊人精品综合在合线 | xxx成熟xxx| 正在播放国产精品 | 亚洲AV午夜福利精品香蕉麻豆 | 美女与男人对肌免费网站 |