wince内存分配

 
目前我们的实验板可用 RAM 空间是 64M ,在 WINCE 系统中对应的虚拟地址从 0x8c000000-0x8ff00000 ,我们来仔细分析一下这些宝贵的 RAM 资源是如何使用的。
首先,系统启动时会自动将映象 NK.nb0 拷贝到 RAM 中再运行,目前我们分配给 NK.nb0 的空间是 29M 0x8c200000-0x8cdf0000 )。无形当中就有 29M 不能使用,但是如果在定制系统的时候根据需求,以“开发出满足最大的开发需要的最小的系统内核”为标准,还是可以充分利用有限的 RAM 资源的。
其次,有一部分 RAM 可以由用户自己定义为某个外设的缓存区,比如: display dbug camera 等等,这部分空间虽然可以修改,但是个人认为这部分空间没必要做修改。主要原因有二:一方面是这部分空间一般都是约定俗成的(比较了一个不同版本的 BSP 后得出来的),修改后有可能影响系统的稳定性;另一方面这部分空间是从 0x8c000000 0x8c200000 ,大概就是 2M 空间,修改后可能可以省出 1M 空间。所以考虑到系统的稳定性,和节省的空间并不是很大,对这部分就不做修改。
配置系统内存和程序内存
config.bib 文件的 config 区有这样一个参数。
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%
默认情况下,系统内存和文件内存是各占 50 %的,所以程序内存就只有 17M 了。为了提高系统的性能可以通过修改 FSRAMPERCENT 值的大小,来获得较大的程序内存空间。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值