<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Blackfin輕量級內核VDK及其文件系統(tǒng)設計

          Blackfin輕量級內核VDK及其文件系統(tǒng)設計

          作者: 時間:2012-04-09 來源:網絡 收藏

          (BF)系列DSP是ADI公司和Intel公司共同開發(fā)的DSP,采用了一種新型結構MSA.BF系列中的BF537具有較塊的運算速度和豐富的接口資源,長于控制和視頻圖像處理,且其帶有符合IEEE 802.3規(guī)范的以太網控制器,如果在BF537中移植帶有LwIP協議棧的工程,并利用網絡芯片對537進行擴展,就能便捷地實現嵌入式與因特網的通信。

          由于低功耗、數據非易失、存儲速度快、存儲密度大等優(yōu)點,Nand Flash在閃存行列中脫穎而出,常被用作大容量數據的存儲媒質。隨著存儲容量和存取速度的不斷提升,構建嵌入式來實現存儲系統(tǒng)中數據的管理。

          1 與嵌入式系統(tǒng)

          1.1 簡介

          VDK(Visual DSP Kernel)是ADI公司針對系列DSP處理器特別開發(fā)的小而健壯的,特別適合編寫需要精確控制的代碼,是一個提供了豐富的API函數庫,同時支持IP協議棧(LwIP)的RTOS。
          VDK功能全面,具有線程、信號量、事件與事件位、消息、關鍵域與禁止調度域等特征。通過協同多任務和時間片輪轉的方式來管理和協調線程,這種方式稱為調度.VDK運用程序可分為兩部分:線程域和中斷域。線程域中的調度稱為軟件調度,由完成;中斷域中的調度稱為硬件調度,由中斷控制器完成。后者的優(yōu)先級高于前者,而設備驅動是兩者溝通的橋梁。

          然而VDK只是一個裸核,不提供系統(tǒng)的支持,如果需要基于VDK實現文件系統(tǒng),用戶必須自己編寫各種接口函數的代碼。

          1.2 基于Nand Flash的嵌入式文件系統(tǒng)簡介

          Flash文件系統(tǒng)主要有開源的和商業(yè)的兩類。開源的Flash文件系統(tǒng),有JFFS、JFFS2、YAFS等。JFFS采用高效的日志文件系統(tǒng),具有掉電安全、臟塊回收、磨損均衡等特性,主要用于嵌入式Linux.Red Hat公司后來在JFFS基礎上進行升級,發(fā)展出JSSF2.JSSF2采用哈希表的日志節(jié)點結構,加快了節(jié)點的操作速度。YAFFS也是基于日志結構的文件系統(tǒng),相比JFFS,YAFFS減少了一些功能,但降低了內存占用率,提高了訪問速度。
          商業(yè)Flash文件系統(tǒng)主要有TrueFFS和TransactiONFFS.前者用于仿真硬盤驅動,利用冗余數據結構保證可靠的數據操作,并能均勻使用Flash.后者使用事務記錄方案,運用程序可通過FAL訪問文件系統(tǒng)。

          2 嵌入式系統(tǒng)的硬件平臺

          基于BF537的嵌入式系統(tǒng)硬件平臺的框圖如圖1所示。

          圖1 嵌入式系統(tǒng)硬件平臺

          本文引用地址:http://www.ex-cimer.com/article/149266.htm

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

          3 嵌入式文件系統(tǒng)

          3.1 文件目錄表

          考慮到存儲系統(tǒng)的存儲速度較快,且文件數目較少的特點,文件目錄表采用線性表的方式。格式如表1所示,其中的更新次數用于記錄存放文件目錄表數據Nor Flash的編程次數。

          表1 文件目錄表格式

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

          文件索引采用類似日志記錄的方式,每個文件索引作為文件目錄表的一個節(jié)點。文件系統(tǒng)進行文件操作時,可以根據具體操作要求,實時搜索、增刪和標記索引節(jié)點,文件索引格式如表2所示。

          表2 文件索引格式

          文件存儲時,主線程遍歷文件目錄表的節(jié)點信息,計算出當前存儲的起始塊地址,然后向存儲陣列發(fā)出開始存儲的命令,隨后將控制權交給中斷域。一旦接收到存儲陣列的地址請求信號,運用程序進入中斷,在中斷域中向文件存儲子線程發(fā)出信號,以發(fā)送當前地址信息,如此反復。如果主線程接收到用戶停止存儲的命令,將立即關閉中斷,取得控制權,接著將最新的文件信息更新到文件目錄表的最后位置,作為最新的節(jié)點。

          文件下載時,主線程遍歷文件目錄表,找到相應的文件索引信息,然后發(fā)送消息給文件下載子線程,開始對指定文件進行下載。如果需要刪除某個文件,在遍歷目錄表找到指定文件的信息后,先發(fā)送地址將存儲陣列相應數據塊的信息擦除,然后將該文件索引信息的文件標記置為刪除標記。

          3.2 地址映射表

          地址映射是文件系統(tǒng)的核心。文件系統(tǒng)將整個存儲陣列作為一個獨立的地址空間,統(tǒng)一編址。通過定義一個地址緩沖區(qū),將其相應的偏移地址作為Nand Flash的物理地址,并根據壞塊信息對緩沖區(qū)相應偏移地址的單元做壞塊或有效塊的標記。文件系統(tǒng)在實際操作中,可查詢地址緩沖區(qū),如果地址緩沖區(qū)某偏移地址為壞塊標記,則拋棄,繼續(xù)查詢下一個偏移地址的標記,如為有效塊標記,則將此偏移地址作為存儲陣列的有效物理塊地址。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();