The RAM on a Windows CE–based device is divided into two areas: the object store(对象存储区) and the program memory(程序存储区).
The object store resembles<类似于> a permanent<永久性的,固定的>, virtual RAM disk. Da
The program memory consists of the remaining RAM. Program memoryworks like the RAM in personal computers — it stores the heaps andstacks for the applications that are running.
具体的设置可以在系统启动后,Control Panel -> System -> Memory里面看到。默认的是把内存五五开,一半给Storage Memory, 一半给ProgramMemory用。这样显然是不合算的。以64M的RAM为例, 启动后Storage Memory 32M,而因为没有留出界面让用户往里面拷东西, 任何时候in use都不会超过10M; Program Memory也是32M,但启动后就用掉27M, 实际上应用程序可用的内存只有5M, 一旦达到了上限,那么每前进一步都要很艰难地去释放几十K内存,然后用掉,再去释放几十K内存,如此循环,此时应用程序的运行速度狂慢无比.
划分的方法也很简单,其实说白了就一句话,
在BSP的config.bib里 CONFIG 区添加这个变量 FSRAMPERCENT = 0xXXXXXX,
但注意两点,
(1) 必须写在config.bib的CONFIG区里, 不是plagform.bib不是config.reg等其他文件而是config.bib,也不是config.bib文件的任意地方而一定要在CONFIG REGION里.
(2) FSRAMPERCENT这个变量一定得写为FSRAMPERCENT, 不能写成FSROMPERCENT不能写成ILOVEU, 或者阿猫阿狗什么的.
FSRAMPERCENT是一个4byte长度的十六进制数, 我们用代数假设 FSRAMPERCENT = 0xQXYZ,
其中Q,X,Y,Z都是十六进制数,Q(BYTE3)----------Z (BYTE0)
The following co
FSRAMPERCENT=0x10203040
In this example, 64(0x40)* 4KB chunks are allocated to byte 0.
48 (0x30)*4KB chunks are allocated to byte 1,
32 (0x20) *4KB chunks are allocated to byte 2,
16 (0x10)* 4KB chunks are allocated to byte 3.
The total percentage of memory reserved for the file system would be ((64 + 48 + 32 + 16) * 4KB) / 4MB, or 15.6%.
config.bib文件中的FSRAMPERCENT说明
FSRAMPERCENT:
格式:FSRAMPERCENT = number
默认值为0x80808080。指定为文件系统分配的内存的百分比。number分为四个字节,由十六进制表示。
byte0的值(单位为4KB)表示在第一个2MB中,其中每1MB包含的4KB的整数倍。
byte1的值(单位为4KB)表示在第二个2MB中,其中每1MB包含的4KB的整数倍。
byte2的值(单位为4KB)表示在第三个2MB中,其中每1MB包含的4KB的整数倍。
byte3的值(单位为4KB)表示在剩下的内存中,每1MB包含的4KB的整数倍。
计算一下默认值0x80808080表示的百分比:0x80*4K/1M = 0.5,因为每个字节都等于0.5,所以整个占用的百分比是50%。
config.bib文件中的FSRAMPERCENT修改实验数据
FSRAMPERCENT设置的值为存储内存占系统整个内存的比例,系统整个内存=存储内存+程序内存
在WINCE系统的控制面板的系统的内存选项有对应的FSRAMPERCENT设置的一个进度条反应出来
prog ram is %50--------程序内存占整个内存的比例
FSRAMPERCENT=0x80808080
prog ram is 87.5%--------程序内存占整个内存的比例
FSRAMPERCENT=0x20202020
prog ram is 50%--------程序内存占整个内存的比例-
FSRAMPERCENT=0x80808010
prog ram is 88%--------程序内存占整个内存的比例
FSRAMPERCENT=0x10808080
rog ram is 94%--------程序内存占整个内存的比例
FSRAMPERCENT=0x10101010