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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MC9S12UF32的嵌入式文件系統(tǒng)數(shù)據(jù)存儲模塊

          MC9S12UF32的嵌入式文件系統(tǒng)數(shù)據(jù)存儲模塊

          作者: 時間:2010-04-01 來源:網(wǎng)絡(luò) 收藏

          具體移植過程如下:
          (1)媒介初始化函數(shù)
          DSTATUS disk_initialize(BYTE drv)
          由于采用的媒介是SD卡,所以該函數(shù)的實際功能是對SD卡進行初始化。drv是介質(zhì)號碼,由于Tiny-FatFS只支持一個存儲介質(zhì),所以此處drv始終取O值。執(zhí)行無誤,則返回值=O;執(zhí)行中出現(xiàn)錯誤,則返回非O值。
          (2)狀態(tài)檢測函數(shù)
          DSTATUS disk_status(BYTE drv)
          該函數(shù)用于檢測是否支持當前的存儲介質(zhì)。此處的drv仍然恒為O。對Tiny-FatFS而言,只要drv為O,就認為支持當前介質(zhì),函數(shù)直接返回O值即可。
          (3)讀扇區(qū)函數(shù)
          DRESULT disk read(BYTE drv,BYTE*buff,DWORD seetor,BYTE.count)
          該函數(shù)是在“單片機從SD卡讀取一個扇區(qū)”的函數(shù)基礎(chǔ)上編寫而成的,其功能是從SD卡讀取一個或多個扇區(qū)的。*buff用于存儲已經(jīng)讀取的,sector是待讀取扇區(qū)的起始扇區(qū)數(shù),count是需要讀取的扇區(qū)數(shù)。如果執(zhí)行無誤則返回O值,否則返回非O值。
          (4)寫扇區(qū)函數(shù)
          DRESULT disk_write(BYTE drv,const BYTE*buff。DWORD sector,BYTE count)
          與disk_read相似,該函數(shù)是在“單片機向SD卡寫入一個扇區(qū)”的函數(shù)基礎(chǔ)上編寫而成的,其功能是向SD卡導入一個或多個扇區(qū)的。*buff用于保存將要寫入的數(shù)據(jù),sector是待寫入扇區(qū)的起始扇區(qū)數(shù),count是需要寫入的扇區(qū)數(shù)。如果執(zhí)行無誤,則返回0值;否則,返回非0值。
          (5)存儲介質(zhì)控制函數(shù)
          DRESULT disk_ioctl(BYTE drv,BYTE ctrl,VoiI*buff)
          ctrl是控制代碼,*buff用于保存或接收需要控制的數(shù)據(jù)數(shù)據(jù)。使用者可以在此函數(shù)里添加自己需要的功能代碼,例如獲得存儲介質(zhì)的容量、扇區(qū)數(shù)等。如果是簡單的應(yīng)用,也可以不執(zhí)行任何功能,直接返回0值。本文采用的就是這一方法。
          (6)實時鐘函數(shù)
          DWORD disk_fattime(Void)
          該函數(shù)將讀取的實時鐘信息保存在一個32位無符號整數(shù)中,并將其作為函數(shù)的返回值。時鐘信息在這32位中的具體分布如表1所列。

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


          3.3 FatFS的裁減與配置Tiny-FatFS
          FatFs提供了豐富的庫函數(shù),可以實現(xiàn)創(chuàng)建、讀取夾,創(chuàng)建、讀寫,移動指針,向文件中寫入或讀取字符串,甚至是類似與C語言fprintf()的格式化輸入等各種功能。使用者可以根據(jù)自己的需求設(shè)置相應(yīng)的宏,對FatFs進行裁減,僅保留需要的功能函數(shù),從而精簡文件的內(nèi)存開銷。FatFS提供的函數(shù)與宏的對應(yīng)關(guān)系如圖3所示。


          FatFS的裁減,不僅僅是函數(shù)層面的。更重要的是,在內(nèi)部機制上形成一個精簡版本,稱為Tiny-FatFS。它與標準版FatFS相比,主要的區(qū)別在于Tiny-FatFS僅支持一個物理存儲介質(zhì),而且不再針對每個開啟的文件建立512字節(jié)的緩存,整個文件和物理介質(zhì)使用同一個緩存。顯然,Tiny-FatFs需要的內(nèi)存開銷比標準版FatFS更低,只要1 KB左右的RAM??梢哉f,Tinyr-FatFS是專門為小型而設(shè)計的文件系統(tǒng)。本文介紹的數(shù)據(jù)存儲系統(tǒng)使用的正是Tiny-FatFS版本。

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


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();