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, \windows\hello.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不需要太大,可以根据自己的需要适当的调整。但是要注意,两部分内存都不能调整的太小,调整的太小会导致数据丢失,甚至是死机,到时候只能重起系统了。
工业互联网助推农业农村数字化转型主要体现在三个方面
华为将于12月17日正式推出将采用号称“自拍极点全面屏”设计的全新nova 4手机
OFDMA技术与QAM技术两者有啥区别呢
SD-WAN、VPN与MPLS VPN专线的区别
本周半导体:业界最高性能!华为发布7nm服务器处理器鲲鹏920
WinCE文件目录定制及内存调整
200W便携式放大器DIY图解
关于滤波共模电感选择不可忽视的因素
传AMD下周宣布重大裁员:或裁减30%员工
解读2015年五大智能手机发展趋势
到处刷脸的我们还有隐私可言吗
华硕Tinker edge R--gitea服务器的搭建教程
凌力尔特推出高速同步MOSFET驱动器LTC4449
梳理一下DPHY的集成验证
94折采购元器件 还能免费看“复仇者联盟”?
纯电动汽车的里程焦虑问题到底如何才能根治
将反推控制方法和SVM-DTC控制方法结合的实例分析
乐享音乐、护眼畅读 海信TOUCH音乐阅读器悦耳阅心新体验
TFT-LCD技术及生产工艺流程简介
奥宝科技于亚太区推出PCB生产创新解决方案