新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VDK的嵌入式文件系統實現

        基于VDK的嵌入式文件系統實現

        作者: 時間:2012-02-24 來源:網絡 收藏

        摘要 針對實驗室開發的Nand Flash的高速、大容量存儲,闡述了利用BF537及其集成開發環境Visual DSP++的內核的具體方案。同時簡要介紹了通過虛擬地址映射和壞塊標記的方法,來管理Nand Flash芯片中的壞塊,以此的地址傳輸。
        關鍵詞 ;BF537;系統;Nand Flash

        Blackfin(BF)系列DSP是ADI公司和Intel公司共同開發的DSP,采用了一種新型結構MSA。BF系列中的BF537具有較塊的運算速度和豐富的接口資源,長于控制和視頻圖像處理,且其帶有符合IEEE 802.3規范的以太網控制器,如果在BF537中移植帶有LwIP協議棧的工程,并利用網絡芯片對537進行擴展,就能便捷地系統與因特網的通信。
        由于低功耗、數據非易失、存儲速度快、存儲密度大等優點,Nand Flash在閃存行列中脫穎而出,常被用作大容量數據的存儲媒質。隨著存儲系統容量和存取速度的不斷提升,構建嵌入式文件系統來實現存儲系統中數據的管理。

        1 VDK與嵌入式文件系統
        1.1 VDK簡介
        VDK(Visual DSP Kernel)是ADI公司針對Blackfin系列DSP處理器特別開發的“小而健壯”的輕量級內核,特別適合編寫需要精確控制的代碼,是一個提供了豐富的API函數庫,同時支持輕量級IP協議棧(LwIP)的RTOS。
        VDK功能全面,具有線程、信號量、事件與事件位、消息、關鍵域與禁止調度域等特征。內核通過協同多任務和時間片輪轉的方式來管理和協調線程,這種方式稱為“調度”。VDK運用程序可分為兩部分:線程域和中斷域。線程域中的調度稱為“軟件調度”,由內核完成;中斷域中的調度稱為“硬件調度”,由中斷控制器完成。后者的優先級高于前者,而設備驅動是兩者溝通的橋梁。
        然而VDK只是一個“裸核”,不提供文件系統的支持,如果需要VDK實現文件系統,用戶必須自己編寫各種接口函數的代碼。
        1.2 Nand Flash的嵌入式文件系統簡介
        Flash文件系統主要有開源的和商業的兩類。開源的Flash文件系統,有JFFS、JFFS2、YAFS等。JFFS采用高效的日志文件系統,具有掉電安全、臟塊回收、磨損均衡等特性,主要用于嵌入式Linux。Red Hat公司后來在JFFS基礎上進行升級,發展出JSSF2。JSSF2采用哈希表的日志節點結構,加快了節點的操作速度。YAFFS也是基于日志結構的文件系統,相比JFFS,YAFFS減少了一些功能,但降低了內存占用率,提高了訪問速度。
        商業Flash文件系統主要有TrueFFS和TransactionFFS。前者用于仿真硬盤驅動,利用冗余數據結構保證可靠的數據操作,并能均勻使用Flash。后者使用事務記錄方案,運用程序可通過FAL訪問文件系統。

        2 嵌入式系統的硬件平臺
        基于BF537的嵌入式系統硬件平臺的框圖如圖1所示。

        本文引用地址:http://www.104case.com/article/149570.htm

        a.jpg


        LAN8187用于對BF537的以太網控制器進行擴展,使其能夠通過以太網絡與上位機進行通信。
        BF537外掛了兩片Nor Flash芯片作為其異步外存。程序Nor Flash用于存儲運行程序代碼,數據Flash主要用于存儲文件系統運行所需的數據,例如文件目錄表、地址映射表等。XC4VFX100用于處理數據流的速度、解析和轉發BF537的命令,配合BF537對存儲陣列進行管理。

        3 嵌入式文件系統設計
        3.1 文件目錄表
        考慮到存儲系統的存儲速度較快,且文件數目較少的特點,文件目錄表采用線性表的方式。格式如表1所示,其中的“更新次數”用于記錄存放文件目錄表數據Nor Flash的編程次數。

        b.jpg


        文件系統采用Nor Flash中的一個64 kB的數據塊實時記錄文件目錄表。出于磨損均衡的考慮,如果數據塊的編程次數超過規定的閾值,文件系統將自動跳到Nor Flash的下一個64 kB的數據塊記錄文件目錄表。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天柱县| 同仁县| 东莞市| 安宁市| 偃师市| 诸城市| 旬阳县| 巴彦县| 金昌市| 澎湖县| 绥中县| 金乡县| 巴塘县| 徐闻县| 晋州市| 昂仁县| 靖边县| 西安市| 甘孜县| 遵义市| 长沙市| 婺源县| 怀宁县| 赤城县| 西乌| 北流市| 济源市| 化德县| 宁陕县| 双鸭山市| 浮山县| 梁平县| 普兰店市| 嘉禾县| 怀仁县| 临邑县| 加查县| 全州县| 温宿县| 元朗区| 姜堰市|