|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
嵌入式FAT文件格式在flash卡上的實(shí)現(xiàn).請(qǐng)釋疑 |
| 作者:high 欄目:嵌入式系統(tǒng) |
fat16文件的一次讀寫(xiě)(主要是寫(xiě)),就需要到FAT,DIR Region修改,這樣扇區(qū)的讀寫(xiě)負(fù)載極度不平衡,FLASH卡(nand FLASH)又存在壞塊隱患. 而嵌入式系統(tǒng),受限于內(nèi)存大小,不可能有大的讀寫(xiě)緩沖;而且嵌入式系統(tǒng)使用存儲(chǔ)器目的是保存定時(shí)的采樣數(shù)據(jù),這導(dǎo)致讀寫(xiě),尤其是寫(xiě)的頻率非常高. 矛盾重重,所以需要一些靈活讀寫(xiě)策略. 1.文件建立在根目錄.一般開(kāi)機(jī)才建立一個(gè)文件,512的文件上限足夠. 2.每次寫(xiě)入之前,先在FAT區(qū)查找是否有一段連續(xù)可寫(xiě)的空白簇.如果沒(méi)有表明磁盤滿. 3.分配到FAT空白簇后,開(kāi)始在數(shù)據(jù)區(qū)相應(yīng)簇里寫(xiě)數(shù)據(jù). 4.所有分配到的簇寫(xiě)滿后,更新FAT鏈表(此刻才真正寫(xiě)FAT),更新DIR文件大小. 5.重復(fù)到步驟2. 以上是我設(shè)想的一種讀寫(xiě)策略,思想是,FLASH本身替代內(nèi)存作為磁盤緩沖. 在意外掉電和關(guān)機(jī)前會(huì)有一段數(shù)據(jù)丟失.這是一個(gè)如何解決的難題? |
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |