色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術工控主板FAT文件系統的穩健讀寫方法介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-16 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在基于WinCE的嵌入式系統中,通常NandFlash + FAT文件系統是最為常用的數據存儲方式。對這類設備長期運行情況的跟蹤,我們發現在一定的應用情況下,FAT文件系統存在失效的可能,而文件系統的失效導致系統在重啟中不能讀取系統注冊表或應用程序文件,宏觀的現象就是設備不能正常運行。

經過對FAT文件失效情況的分析,我們發現出現失效的系統往往有以下兩種文件操作:

1、需要保存運行日志文件,每條日志記錄大約兩百字節水平,整個日志文件可包含上萬條記錄,即日志文件大小在2MB水平。應用程序對日志的操作是隨機的。

2、系統有一個容量上兆的配置文件,應用程序可能根據運行的情況,動態修改配置的內容。

以上這兩種文件操作,對NandFlash + FAT的存儲單位,由于文件都比較大,都可能導致大規模的NandFlash塊擦除及數據搬動。當此時CPU負載還比較重時,FAT文件系統內部的某種缺陷就可能暴露出來,從而危害設備的穩定運行。

針對上述兩種應用的特點,以規避FAT文件系統出現致命缺陷為目的,我們設計了一層新的文件操作API函數,來替代常規的文件API函數。新的API包括以下6個函數:

? HANDLE CreateFileEm(……);
? BOOL ReadFileEm(……);
? BOOL WriteFileEm(……);
? DWORD SetFilePointerEm(……);
? DWORD GetFileSizeEm(……);
? BOOL CloseHandleEm(……);

這6個API函數的名稱與對應的常規函數名稱基本一致,只是在末尾增加了“Em”兩個字母以示區別,函數的參數與常規函數的參數則完全一致。應用程序只需做簡單的修改,就可使用我們所提供的新方法。

新的文件操作的要點,是把一個日志文件或配置文件,映射為NandFlash下的子目錄,文件的內容則分成若干個子文件(以下稱為量子文件,以表示它的不可分割性),量子文件按序號0000依次遞增9999,每個量子文件的大小為NandFlash的扇區大小,在英創工控主板中NandFlash的扇區Size為2KB,當前量子文件寫滿2KB后,會自動生成當前序號+1的新量子文件。API內部建有當前量子文件的數據緩沖區,當讀寫僅限于當前量子文件大小(即2KB)時,不會產生實質性的NandFlash讀寫,從而降低NandFlash的讀寫負擔。即使進行實質性的寫操作,因為總是2KB,FAT文件系統的工作量也被降到最低。

新的API函數盡管可支持不同線程操作同一文件,但若出現不同線程對同一個量子文件進行讀寫操作,則可能存在數據丟失的情況、讀取的數據不是最新數據的情況。因此應用程序應盡量避免不同線程對同一個量子文件進行讀寫操作。

在200MHz主頻的CE5.0系統中(如 EM9160、EM9360等),新API函數的文件寫操作的平均速度在90KB/s – 95KB/s范圍,文件讀操作的平均速度在600KB/s – 700KB/s范圍。

一般情況下若寫入的數據處在一個量子文件大小區域內,為了提高NandFlash的操作效率,不會立即觸發實質性的NandFlash寫。但之后一定時間內(設置為2秒),沒有進一步的寫操作,新API的后備線程會自動把應用程序寫入的數據實質性寫入NandFlash的對應量子文件中。因此這里存在,在實質性寫入發生之前,系統由于某種情況出現重啟(Power Cycling),應用程序寫入的數據就會丟失的情況。這是為避免致命性錯誤,應用程序需付出的代價。

更極端的情況,當正在實質性寫某一量子文件時,系統出現Power Cycling,還可能存在該量子文件被破壞的情況。但這種情況在常規寫中同樣存在,且被破壞的還是整個文件。因此新API是Power Cycling對整個數據的損壞度是降低了的。

更重要的是,在系統進入穩定運行后,量子文件的數目瞬間不會有大的變化,甚至完全沒有變化(配置文件情形,或日志文件達到應用程序設置的上限),這樣新的API對FAT文件系統的FAT表、目錄區的負載會降到最低,從而大大避免FAT文件系統的關鍵區域被Power Cycling破壞的可能性。這是新API規避FAT文件系統缺陷的關鍵所在。

新API的定義包含在“LogFile.h”頭文件中,具體實現代碼則在“LogFile.cpp”中,對客戶應用程序,只需簡單的把LogFile.cpp加入到應用程序中,并在相關的cpp文件中include頭文件LogFile.h,就可方便的測試評估該方法了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3681

    瀏覽量

    131348
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安
    的頭像 發表于 06-13 10:06 ?1915次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    服務器數據恢復—ocfs2文件系統被格式化為Ext4文件系統的數據恢復案例

    服務器存儲數據恢復環境&故障: 人為誤操作將Ext4文件系統誤裝入一臺服務器存儲上的Ocfs2文件系統數據卷上,導致原Ocfs2文件系統被格式化為Ext4文件系統
    的頭像 發表于 06-10 12:03 ?208次閱讀
    服務器數據恢復—ocfs2<b class='flag-5'>文件系統</b>被格式化為Ext4<b class='flag-5'>文件系統</b>的數據恢復案例

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令之文件系統命令

    uboot支持fat格式、ext格式的文件系統。我們主要講解fat格式文件系統常用命令使用。 一、fatinfo fatinfo顯示選中的mmc設備指定分區的
    發表于 05-26 17:32

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產主板的發展提供了廣
    的頭像 發表于 05-09 09:24 ?211次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    NFS網絡文件系統深度解析

    NFS:Network File System 網絡文件系統,基于內核的文件系統。Sun 公司開發,通過使用 NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的
    的頭像 發表于 03-01 14:15 ?694次閱讀

    防止根文件系統破壞,OverlayRootfs 讓你的設備更安全

    OverlayRootfs介紹OverlayRootfs是指利用OverlayFS技術創建的根文件系統(rootfilesystem)。OverlayFS是一種聯合文件系統(Union
    的頭像 發表于 01-08 16:33 ?1430次閱讀
    防止根<b class='flag-5'>文件系統</b>破壞,OverlayRootfs 讓你的設備更安全

    EE-329:在SHARC處理器上運行FAT16文件系統和DOS命令

    電子發燒友網站提供《EE-329:在SHARC處理器上運行FAT16文件系統和DOS命令.pdf》資料免費下載
    發表于 01-06 14:22 ?0次下載
    EE-329:在SHARC處理器上運行<b class='flag-5'>FAT</b>16<b class='flag-5'>文件系統</b>和DOS命令

    EE-289:在ADSP-BF533 Blackfin處理器上實現FAT32文件系統

    電子發燒友網站提供《EE-289:在ADSP-BF533 Blackfin處理器上實現FAT32文件系統.pdf》資料免費下載
    發表于 01-05 09:13 ?0次下載
    EE-289:在ADSP-BF533 Blackfin處理器上實現<b class='flag-5'>FAT</b>32<b class='flag-5'>文件系統</b>

    ?什么是國產工控主板,國產工控主板的特點有哪些?

    什么是國產工控主板呢?國產工控主板是工業計算機的主板,是一種計算機系統的硬件設備,是專門為工業控
    的頭像 發表于 11-07 10:29 ?679次閱讀

    國產工控主板,信產業發展新引擎

    在當今科技飛速發展的時代,信產業正成為國家戰略的重要支撐。而我們的國產工控主板,以其卓越的性能和可靠的品質,為信產業的發展注入強大動力。國產工控
    的頭像 發表于 11-06 10:29 ?672次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?958次閱讀

    工控機重裝系統方法介紹

    ? 工控機怎么重裝系統工控機重裝系統方法介紹攻略 ? 首先看下自己購買的什么
    的頭像 發表于 10-23 17:11 ?1373次閱讀

    Linux根文件系統的掛載過程

    Linux根文件系統(rootfs)是Linux系統中所有其他文件系統和目錄的起點,它是內核啟動時掛載的第一個文件系統
    的頭像 發表于 10-05 16:50 ?960次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?877次閱讀

    如何修改buildroot和debian文件系統

    本文檔主要介紹在沒有編譯環境的情況下,如何修改buildroot和debian文件系統方法,如在buildroot文件系統中添加文件、修改目
    的頭像 發表于 07-22 17:46 ?879次閱讀
    如何修改buildroot和debian<b class='flag-5'>文件系統</b>
    主站蜘蛛池模板: 男女牲交大战免费播放 | 绝色娇嫩美人妻老师 | 国产香蕉尹人视频在线 | 国产婷婷午夜精品无码A片 国产婷婷色综合AV蜜臀AV | 中文字幕久久久 | 妖精视频免费看 | 一本久道视频无线视频 | 妖精视频免费看 | 色婷婷综合久久久久中文一区二区 | 午夜天堂一区人妻 | 2021精品高清卡1卡2卡3麻豆 | 日本免费一区二区三区四区五六区 | 好男人资源免费观看1 | 一个人免费视频在线观看 | 国产亚洲精品久久久999蜜臀 | 无码专区aaaaaa免费视频 | 国产亚洲欧美高清在线 | 久久久精品3d动漫一区二区三区 | 护士喂我吃乳液我脱她内裤 | 日本亚洲欧洲免费旡码 | 国产精品亚洲专区在线播放 | 97精品一区二区视频在线观看 | 国产亚洲精品久久7777777 | 日本阿v片在线播放免费 | 晚夜免费禁用十大亏亏 | 亚洲欧美日韩精品自拍 | 1788福利视频在视频线 | 国产午夜精品理论片免费观看 | 国产人A片777777久久 | 99re1久久热在线播放 | 成人国产在线24小时播放视频 | 国产欧美无码亚洲毛片 | 亚洲免费观看在线视频 | 明星三级电影 | 国产乱码卡二卡三卡4W | 欧美一区二区三区播放 | 国产精品无码AV天天爽色欲 | 香蕉eeww99国产精选播放 | 日韩亚洲国产欧美免费观看 | 精品免费久久久久久影院 | 本庄优花aⅴ全部在线影片 被滋润的艳妇疯狂呻吟白洁老七 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品