<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > WinCE文件目錄定制及內存調整的操作方法

WinCE文件目錄定制及內存調整的操作方法

作者: 時(shí)間:2012-01-23 來(lái)源:網(wǎng)絡(luò ) 收藏

本文介紹了。結構以及的位置都是在DAT文件中定義的。所有的dat文件會(huì )在編譯時(shí)合并成initobj.dat文件,WinCE會(huì )根據DAT中的描述生成相應。

本文引用地址:http://dyxdggzs.com/article/149807.htm

  這個(gè)說(shuō)起來(lái)比較簡(jiǎn)單,WinCE的文件目錄結構以及文件的位置都是在DAT文件中定義的。所有的dat文件會(huì )在WinCE編譯時(shí)合并成initobj.dat文件,WinCE會(huì )根據DAT中的描述生成相應目錄。

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

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

  root:-Directory(Sounds)

  root:-Directory(Movies)

  Directory(Movies):-Directory(Chinese)

  Directory(Movies):-Directory(English)

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

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

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

  接下來(lái)說(shuō)一下WinCE。WinCE系統可使用的被分為Storage Memory和Program Memory兩部分。Storage Memory用于Object Store,而Program Memory用于程序內存。

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

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

  順便介紹個(gè)函數:

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

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

  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各占一半。有三種可以實(shí)現對內存的

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

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

  3. 在WinCE啟動(dòng)以后,進(jìn)入系統的control panel,然后打開(kāi)System,選擇Memory在界面中進(jìn)行調整。

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

  關(guān)于Storage Memory和Program Memory的調整,主要還是看系統的需求,一般情況下Storage Memory不需要太大,可以根據自己的需要適當的調整。但是要注意,兩部分內存都不能調整的太小,調整的太小會(huì )導致數據丟失,甚至是死機,到時(shí)候只能重起系統了。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>