wince6.0系统默认的内存分配是对半分的,也就是storage memory与program memory各占一半(32M,以64M内存为例), 对于一般不在内存中存放程序的用户来说,storage memory就太浪费了,可以在编译内核前对storage memory和program memory的大小进行调整。在网上找到一些资料,修改起来其实很简单,在BSP下的FILES目录下修改config.bib,在 CONFIG 区添加这个变量 FSRAMPERCENT = XXX, XXX是一个4byte长度的十六进制数,具体是什么意思,我也不是很明白,反正这个值与storage memory的大小有关,之前看到一篇文章说计算机方法是:例如 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.
但我实际操作中设成FSRAMPERCENT=0x10203040后,编译内核得到的NK文件,运行时最终得到的storage memory 是3908KB,不知道到底是怎么算的,如果有高人知道还请赐教。总之这种方法是可行的,文章内容基本是网上搬来的,出处忘记了,不好意思