<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  Linux驅動開發  (http://www.hufushizhe.com/bbs/list.asp?boardid=33)
    ----  嵌入式Linux的DiskOnChip設備驅動開發  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=33&id=1712)

    --  作者:wangxinxin
    --  發布時間:2010-11-24 9:43:40
    --  嵌入式Linux的DiskOnChip設備驅動開發
    1 引 言

      在以計算機技術、通訊技術相結合的信息時代的快速發展和互聯網廣泛應用的形勢下,3C(Computer,Communication,Consumer)合一的趨勢已經形成,其結果必然就是將計算機工業的中心從計算產品轉移到嵌入式信息產品。

      然而由于嵌入式系統的應用要求及成本因素決定了嵌入式系統在系統資源,包括硬件資源和軟件資源方面都是非常精簡和高效的。因此在嵌入式系統中的存儲設備一般不會采用硬盤等大容量高功耗設備,而改用諸如CompactFlash,EPROM等存儲介質。因此本文就M-systems公司開發的新一代閃存FlashDiskOnChip 2000,介紹在基于嵌入式Linux系統上文件系統和塊設備的支持及驅動。

      2 硬件系統結構

      電子盤的內部存儲介質Flash是近幾年來發展最快的一種存儲芯片,他具有E2PROM可擦寫的特點,又同時具有EPROM廉價的特點,他是一種高性能、低功耗、電可擦除的存儲器件。根據其以上一些特點,電子盤已廣泛應用于信息存儲、機頂盒、網絡計算以及嵌入式計算機等領域。

      M-system公司推出的DiskOnChip 2000系列是新一代閃存磁盤(Flash Disk)。為標準32腳DIP封裝,他與標準的E2PROM完全兼容。一般的閃存器(FlashMemory)只包含存儲器部分,而控制器要另加。為了對閃存磁盤進行管理,DiskOnChip中已裝有MSystem公司的閃存文件系統(TrueFFS)軟件。這使得他使用簡單,工作中不需要任何其他特殊復雜的算法。他的讀/寫與硬盤完全相同,因此他可以作為獨立硬盤使用,并與其他磁盤兼容?梢灾苯右龑в嬎銠C系統而不需要其他系統盤。他適用于3.3 V和5 V電源,功耗很小,對于那些空間受限,小型便攜式裝置,DiskOnChip將是最佳選擇。DOC2000結構主要由系統接口單元(SystemIterface)、系統引導模塊(BootBlock)、閃存控制單元(FlashControl)以及和Flash存儲介質等組成,其結構如圖1所示。

     

     圖片點擊可在新窗口打開查看

      其中系統接口單元為DOC2000提供了類似SRAM的接口,使之能夠通過CPU的本地總線、ISA總線以及SRAM總線建立與操作系統的連接。DOC提供片選信號(CE#)、讀寫信號(WE#)、使能信號(OE#)以及13位寬的地址線(A[0:12])和8位寬的數據總線(D[0:7])。系統接口在主總線信號(讀、寫、地址和片選)的控制下產生相應的控制信號送入閃存磁盤,其內部的ROM提供一種IPL碼,此碼在計算機啟動過程中將閃存文件系統軟件裝入PC內存。他在PC的擴展BIOS中安排了8 kB以上的存儲區域,其地址為0C000H~0EFFFH。計算機開機自檢后,DiskOnChip作為PC的BIOS標準操作的一部分,BIOS搜尋ROM擴展碼,找到后BIOS執行閃存磁盤內的初始化碼,此碼將閃存文件系統軟件裝入內存。閃存磁盤也將被安裝為系統的一個磁盤,然后將傳輸器控制回到BIOS碼。當操作系統要確認適合系統的磁盤時,閃存磁盤軟件即模仿一個硬盤做出反應。

      3 TrueFFS與Linux的文件系統

      TrueFFS是M-system公司開發出來的專用于電子盤設備的專利技術。TrueFFS是Tornadoll開發環境中的一個集成的快速閃存文件系統,通過TrueFFS對DOC塊設備的磁盤仿真功能,從而方便了嵌入式Linux系統對電子盤的讀寫、分區、格式化等一系列操作。通過對操作系統的I/O控制調用。Linux可以通過VFS訪問TureFFS的外部接口。

      Linux文件系統最優秀的地方是對多種文件系統的支持(這里的上層結構是指VFS系統和具體的文件系統,即除buffer管理系統以外的部分)。為了實現這種特色,就必須有一個抽象的層次來統一描述各種文件系統,Linux中就用VFS來實現了這個抽象層;同時,各種具體的文件系統又必須有一個和VFS交互的手段,如圖2所示。

     

      圖片點擊可在新窗口打開查看

      Linux文件系統管理的最上層模塊是文件系統。系統啟動時,必須先裝入“根”文件系統,然后根據/etc/fstab中的指定,逐個建立文件系統。此外,用戶也可以通過mount,umount操作,隨時安裝或卸載文件系統。Linux系統調用操作系統的GetDriveHandle()函數得到驅動器的句柄,他的返回值是一個能夠供I/O控制函數調用的TrueFFS驅動的描述符。然后再調用操作系統中文件系統的IOCongtrol()函數,通過VFS的支持,使TrueFFS具有通用文件系統的特性。當某個進程發布了一個面向文件的系統調用時,核心將調用VFS中相應的函數,這個函數處理一些與物理結構無關的操作,并且把他重定向為真實文件系統中相應的函數調用,而這些函數調用則用來處理那些與物理結構相關的操作。

      4 構建嵌入式Linux內核DOC設備支持

      DOC通過TrueFFS磁盤仿真的支持,Linux系統可把DOC驅動編譯成模塊(doc.o)進行支持,并可用于系統加載后的輔助存儲盤使用,同時也可把DOC核心驅動加載入Linux內核,在系統啟動時進行驅動和加載。

      在Linux系統中DOC設備被模擬為IDE塊設備進行識別,系統用主設備號(MAJOR)加次設備(MINOR)號來惟一標識一個設備。相同主設備號表示同一類設備,例如都是硬盤;次設備號標識同類設備的個數。所有設備在適當的目錄(通常在/dev目錄)下必須有相應的文件,這樣字符設備和塊設備都可以通過文件操作的系統調用來完成。不同的是,塊設備操作經常要和緩沖區打交道,從而更加復雜一些。系統設備管理的總體框圖如圖3所示。

      圖片點擊可在新窗口打開查看


    主站蜘蛛池模板: 久久亚洲精精品中文字幕| 又硬又粗又长又爽免费看| www.中文字幕在线| 日本国产中文字幕| 亚洲熟女乱色一区二区三区| 精品久久洲久久久久护士免费| 国产精品一区二区三乱码| 一区二区精品在线观看| 无码精品A∨在线观看十八禁 | 四虎影视永久在线精品免费| 高清日本撒尿xxxx| 国产自在线观看| 一级毛片特级毛片黄毛片| 摸BBB揉BBB揉BBB视频| 亚洲av无码专区在线观看下载 | 久久99精品久久久久久噜噜| 日韩视频免费在线播放| 亚洲男女一区二区三区| 男人j桶进女人p无遮挡免费观看| 国产亚洲视频在线| 黑人一级大毛片| 国产精品美女www爽爽爽视频| ww美色吧com| 少妇BBB好爽| 久久久久成人精品无码| 日韩夜夜高潮夜夜爽无码| 亚洲日本国产乱码va在线观看| 波多野结衣欲乱| 午夜福利AV无码一区二区| 老师的圣水女主小说网| 国产成人综合久久精品亚洲| 97人人模人人爽人人少妇| 夜鲁鲁鲁夜夜综合视频欧美| 中文字幕aⅴ人妻一区二区| 无码喷水一区二区浪潮AV| 五月天婷婷在线观看视频| 最近更新的2019免费国语电影 | 国产精品久久国产三级国不卡顿| 99视频精品在线| 在线观看免费成人| 一边摸一边叫床一边爽|