<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    WinCE文件目錄定制及內存調整

    發布時間:2010-10-15 20:02    發布者:techshare
    關鍵詞: WINCE , 內存 , 文件目錄
    本文介紹了WinCE文件目錄定制及內存調整的操作方法。WinCE的文件目錄結構以及文件的位置都是在DAT文件中定義的。所有的dat文件會在WinCE編譯時合并成initobj.dat文件,WinCE會根據DAT中的描述生成相應目錄。

    這個說起來比較簡單,WinCE的文件目錄結構以及文件的位置都是在DAT文件中定義的。所有的dat文件會在WinCE編譯時合并成initobj.dat文件,WinCE會根據DAT中的描述生成相應目錄。

    關于DAT的格式,可以參考我以前的一片文章:”WinCE BSP的DAT文件介紹”,看了就明白了。

    我一般在project.dat中定制自己想要的目錄結構,舉個例子如下:

    root:-Directory("Sounds")

    root:-Directory("Movies")

    Directory("Movies"):-Directory("Chinese")

    Directory("Movies"):-Directory("English")

    Directory("Sounds"):-File("hello.wav", "Windowshello.wav")

    應該比較好理解,創建兩個根文件夾Sounds和Movies,在Movies中創建兩個子文件夾Chinese和English,將hello.wav拷貝到Sounds目錄下。

    編輯完project.dat以后,重新Makeimg就可以了。啟動WinCE就可以看到所創建的文件夾了。

    接下來說一下WinCE內存的定制。WinCE系統可使用的內存被分為Storage Memory和Program Memory兩部分。Storage Memory用于Object Store,而Program Memory用于程序內存。

    關于Object Store,在WinCE中是指一個可以永久保存數據的存儲空間,即使在掉電的情況下,數據可以在備份電源的支持下不丟失,達到永久保存的效果。其實就是一塊內存,一般包括文件系統,數據庫和系統注冊表。Object Store的最大空間不能超過256MB,其中所能包含的最大文件是32MB。Object Store中是由很多Object組成,這些Object可能是一個文件,一個數據庫,一條數據庫記錄,一個注冊表鍵,一個鍵值等。

    在Object Store中,WinCE系統會分配給每一個Object一個ID,被稱為CEOID。每個Object的CEOID在Volume中都是唯一的。同樣,在Object Store中的每一個Volume也有一個ID,被稱為CEGUID,這樣使用CEGUID和CEOID就可以在Object Store中找到相應的Object了。

    順便介紹個函數:

    BOOL CeOidGetInfoEx( PCEGUID pceguid, CEOID oid, CEOIDINFO* poidInfo) 調用該函數可以獲得Object Store中某個Object的信息,pceguid和oid是要查找對象的CEGUID和CEOID,poidInfo為Object的信息。

    那么如何獲得CEGUID和CEOID呢?對于不同的Object類型,有不同的函數,如下:

    Directory or File:FindFirstFile(..) / FindNextFile(..) / GetFileInformationByHandler(..)

    Database:CeCreateDatabaseEx2(..) / CeFindNextDatabaseEx(..)

    Database record:CeSeekDatabaseEx(..) / CeReadRecordPropsEx(..) / CeWriteRecordPropsEx(..)

    Mounted Database volume:CeMountDBVol(..) / CeEnumDBVolumes(..)

    所以,在WinCE系統中,對內存的調節就是在調整Object Store和程序內存的大小。默認情況下是Storage Memory/Program Memory各占一半。有三種方法可以實現對內存的調整:

    1. 在config.bib文件中調整FSRAMPERCENT,具體如何設置在BIB文件的介紹中解釋過,這里不多說了。

    2. 在OAL中調用pOEMCalcFSPages函數為Object Store分配內存。

    3. 在WinCE啟動以后,進入系統的control panel,然后打開System,選擇Memory在界面中進行調整。

    4. 通過函數SetSystemMemoryDivision(..)來調整。多說一句,可以通過調用GetSystemMemoryDivision(..)來獲得當前Object Store的內存使用情況。

    關于Storage Memory和Program Memory的調整,主要還是看系統的需求,一般情況下Storage Memory不需要太大,可以根據自己的需要適當的調整。但是要注意,兩部分內存都不能調整的太小,調整的太小會導致數據丟失,甚至是死機,到時候只能重起系統了。
    本文地址:http://www.portaltwn.com/thread-32627-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷