基于DSP視頻系統(tǒng)的CF卡FAT文件系統(tǒng)設計與實現(xiàn)
(1)讀取文件的目錄項信息,獲得其長度,起始簇號等信息,通過簇鏈找到文件已寫到的最后一個簇號。并利用文件長度信息,計算出最后一簇已寫的扇區(qū)數(shù)。若writen_seetnum為0,則需要尋找下一個未占用的簇。
(2)利用SCOM通信獲取編碼線程發(fā)送過來的幀頭信息和幀數(shù)據(jù),將其寫入CF卡,按照圖2所示的4種情況進行處理。與讀文件不同的是,在更新簇號時需要尋找未占用簇。
(3)寫完此幀數(shù)據(jù)后,通過SCOM通信向解碼線程發(fā)送數(shù)據(jù)消息,并更新目錄項和FAT表及FAT2表。
(4)重復以上步驟。寫完所有的圖像幀后,將更新后的目錄項FAT表及FAT2表寫入CF卡相應位置。
若要實現(xiàn)文件覆蓋,在寫文件之前調(diào)用FAT_delete函數(shù)將文件刪除,然后再重新創(chuàng)建寫入即可。
FAT_delete函數(shù)首先調(diào)用FAT_getfileinfo函數(shù)判斷文件是否存在,若存在則獲取文件的目錄項及其索引位置。將FAT表中的簇鏈清除,并將目錄項中文件名的第一個字符值置為0xe5,表示已刪除。
2 實驗結(jié)果與結(jié)論
CF卡FAT文件系統(tǒng)的設計功能分別在DM642平臺和Windows操作系統(tǒng)中得到了驗證。在DM642視頻處理平臺上,可對文件進行各種操作,包括格式化CF卡,創(chuàng)建新的空文件,寫入視頻文件,包括以拼接方式寫文件和以覆蓋方式寫文件,刪除文件。
在DM642平臺上寫入4個視頻文件到CF卡,視頻文件經(jīng)過H.264格式壓縮,每個文件寫入200幀。將CF卡通過讀卡器與PC機連接,可在PC機中查看到文件并進行各種操作,如刪除、移動、復制等。
圖3是CF卡在Windows系統(tǒng)中視頻文件的查看。本文引用地址:http://2s4d.com/article/150359.htm
圖4為WinHex工具下查看的CF文件系統(tǒng)信息內(nèi)容,可以查看到CF卡中的內(nèi)容存放形式以及各個部分的起始位置以及占用空間大小。
實驗結(jié)果表明,本文設計的FAT文件系統(tǒng)能成功地運用在DSP視頻處理平臺上。通過該系統(tǒng),可對視頻數(shù)據(jù)進行FAT文件格式的實時存儲。此系統(tǒng)設計方案還可應用于一相關(guān)存儲設備(如SD卡)和實時系統(tǒng)。
評論