WinCE中划分Storage Memory和Program Memory
来源:互联网 发布:简约别墅设计图知乎 编辑:程序博客网 时间:2024/06/08 06:36
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. Data inthe object store is retained when you suspend or perform a soft resetoperation on the system. Devices typically have a backup power supplyfor the RAM to preserve data if the main power supply is interruptedtemporarily. When operation resumes, the system looks for a previouslycreated object store in RAM and uses it, if one is found. Devices thatdo not have battery-backed RAM can use the hive-based registry topreserve data during multiple boot processes.
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.
我承认我很懒,上面一段话的URL是ms-help://MS.WindowsCE.500/wcecoreos5/html/wce50conMemoryArchitecture.htm
具体的设置可以在系统启动后,Control Panel -> System -> Memory里面看到。默认的是把内存五五开,一半给Storage Memory, 一半给ProgramMemory用。这样显然是不合算的。以64M的RAM为例, 启动后Storage Memory 32M,而因为没有留出界面让用户往里面拷东西, 任何时候in use都不会超过10M; Program Memory也是32M,但启动后就用掉27M, 实际上应用程序可用的内存只有5M, 一旦达到了上限,那么每前进一步都要很艰难地去释放几十K内存,然后用掉,再去释放几十K内存,如此循环,此时应用程序的运行速度狂慢无比.
划分的方法也很简单, 只不过可能没人注意到而已.
说明在ms-help://MS.WindowsCE.500/wceosdev5/html/wce50lrfFSRAMPERCENT.htm 懒得看英文的人就继续往下看
其实说白了就一句话, 在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都是十六进制数
那么最终划分给Storage Memory的大小 = ( Q + X + Y + Z ) / 0x400 * TOTAL_RAM_SIZE
以文中的例子来算, FSRAMPERCENT=0x10203040, 假设TOTAL_RAM_SIZE=64M, 那么StorageMemory= (0x10 + 0x20 + 0x30 + 0x40) / 0x400 * 64M = 10M.
顺路鄙视一下,WinXP自带的计算器里无法输入和计算带小数位的非十进制数.
- WinCE中划分Storage Memory和Program Memory
- WinCE中划分Storage Memory和Program Memory
- WinCE中划分Storage Memory和Program Memory
- WinCE中划分Storage Memory和Program Memory
- storage memory和program memory划分
- Wince storage memory and program memory
- WINCE存储和程序空间的区分。CE memory division between "storage" & "program" memory
- wince6.0调整storage memory与program memory大小
- Program memory
- Oracle11g Memory & Storage Overview
- Program Memory Layout
- Stealing Program's Memory
- The memory a program
- C Program Memory Layout
- mongoDB In-Memory Storage Engine
- Memory partition in C program
- memory layout of c program
- Memory Management in Cocoa Program
- The Loopback Root Filesystem HOWTO
- CE中将PC上指定文件加入NK, 并放到目标机上指定目录
- 智能手机市场现状:iPhone遥遥领先
- NetBeans 时事通讯(刊号 # 53 - Apr 22, 2009 )
- java中outer的用法
- WinCE中划分Storage Memory和Program Memory
- 定制一个eVC上的中文模拟器
- DHC log 2009-4-20 21 22 23
- 图解SQL2005最简单的CLR自定函数(C#)
- 防止应用程序被网络操作失败卡死的算法
- 读取hdd序列号
- WebGame Framework v0.2.0.0
- 将WinCE5.0模拟器连接到VS2005
- WinCE中关于鼠标的隐藏