linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:3062回复:20

如何使自己的Wince不受32M内存限制

楼主#
更多 发布于:2004-08-24 16:58
大侠们,

我用wince.net4.2的platform builder 配了好多次wince平台但总是受32M内存的限制,弄得我连进入wince的msdos方式都不行一进它就说内存不够。 别外我在platform builer下的platform->settings下进行环境变量(Environment)设置时设为IMGRAM64=1则不行为IMGRAM32=1或低于64的IMGRAM值为1都行不知这是什么缘故?

另外,当我进行IMGRAM64设为1时,是出现了提示,但我也按照那个提示在Platform->setting在的Options标签下将Enabled ....32M(即允许映象内存大于32M)选择了,可是这个选择好象根本就无效,因为再进行那个IMGRAM环境变量的设置仍然无效,提示的信息依然如故.另外我想要冲破内存64M的限制,该怎么设置或作什么改动?现在它不检测到机器的实际内存!
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-24 16:59
急~~~~
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-24 18:02
你用什么试的?仿真环境还是自己的平台?你的物理内存有多大?
根据地的兄弟们,团结就是力量
blue123
驱动中牛
驱动中牛
  • 注册日期2002-11-09
  • 最后登录2009-09-14
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-27 09:11
强烈关注
努力!
leo_cyl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-20
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-27 10:00
“platform->settings下进行环境变量(Environment)设置”,只是把IMGRAM64设为1。
你还要在config.bib中设定相应的动作才行。例如,我的config.bib是这样的:
。。。。
。。。。
。。。

IF IMGRAM64
IF IMGFLASH
IF IMGEBOOT
NK     84080000  01f80000 RAMIMAGE     ; length = total - amount used e.g. 0xFE0000 + 0x20000 = 0x1000000
EDBG 8C120000  00020000 RESERVED ; 2000 for EBOOT - 3 Client memory pools of 24K
RAM 80140000  03EC0000 RAM ; length = total - amount used
ENDIF
IF IMGEBOOT !
NK     84000000  02000000  RAMIMAGE
RAM   80120000  03EE0000  RAM ; length is total - used, e.g. 1000000 - 66000 - 0xc1000
ENDIF  
ENDIF
ENDIF

。。。
。。。
。。。


[编辑 -  8/27/04 by  leo_cyl]
blue123
驱动中牛
驱动中牛
  • 注册日期2002-11-09
  • 最后登录2009-09-14
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-27 10:35
这个设置是针对多大内存的?还是说64M,128M,256M都可以使用?
努力!
leo_cyl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-20
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-27 10:44
多大内存是由你设定啊!我试过64m没问题。128m以上我没条件试。但是我知道wince是通过config.bib来配置内存的!
blue123
驱动中牛
驱动中牛
  • 注册日期2002-11-09
  • 最后登录2009-09-14
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-27 11:16
NK 84000000 02000000 RAMIMAGE
RAM 80120000 03EE0000 RAM ; length is total - used, e.g. 1000000 - 66000 - 0xc1000
nk 和 ram后面的两个数字是怎么计算出来的呀,没有看懂,84000000 是随便写的吗?
努力!
leo_cyl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-20
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-08-27 12:04
请参考WINCE HELP中对CONFIG.BIB的描述.
84000000是我的板子DRAM的起始虚拟地址,02000000是长度.

[编辑 -  8/27/04 by  leo_cyl]
blue123
驱动中牛
驱动中牛
  • 注册日期2002-11-09
  • 最后登录2009-09-14
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-08-27 14:33
呵呵,我是想问这些地址你是怎么知道的呢?怎么计算出来的。
努力!
leo_cyl
驱动牛犊
驱动牛犊
  • 注册日期2001-08-20
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-27 21:02
拜托!我做的BSP,难道我还不知道吗?
实在不知道就看SOURCE CODE中的MMU MAPPING TABLE。
shader
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2006-03-16
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-08-31 22:18
WinCE 4.2 Doc中的有关文档,我想也许有用。
------------------------------
The default end address of RAM is 28 MB, unless you set IMGRAM16, IMGRAM32, or IMGRAM64, or build an OS image for a locale outside the United States. The Config.bib file for your platform specifies the end address of RAM. The OEMInit function determines whether to search for additional RAM past the end address of RAM. If you modify Config.bib, OEMInit does not search for additional RAM.
Note   Microsoft assumes in the following procedure that Config.bib specifies the default 28 MB of RAM. If you want to change the default amount, edit the IsDRAM function in the %_WINCEROOT%\Public\Common\OAK\CSP\i486\OAL\Cfwpc.c file.
To support or simulate more than 64 MB of RAM
In %_WINCEROOT%\Public\Common\Oak\Csp\i486\Inc\Pc.h, change CEPC_EXTRA_RAM_SIZE to the total amount of RAM you want to support, minus the amount specified in the Config.bib file.
The default value is 0x2400000 and the default RAM in Config.bib is 28 MB. To support 128 MB of RAM, change the value to 0x6400000.
In %_WINCEROOT%\Public\Common\Oak\Csp\i486\Oal\OEMInit.asm, change the first entry of _OEMAddressTable to the total amount of RAM you want to support.
The default value is 0x04000000, which is 64 MB. To support 128 MB of RAM, change the value to 0x8000000.
Build i486oal.lib with the following minimal set of commands.
cd %_WINCEROOT%\Public\Common\OAK\CSP\i486\Oal
build -c
sysgen i486oal
Build the platform with the following commands.
cd %_TARGETPLATROOT%\Kernel\Buildexe
set WINCEREL=1
build
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-09-01 14:06
你用什么试的?仿真环境还是自己的平台?你的物理内存有多大?



 s3c 2410
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-09-01 16:13
还没解决?按照上面那位兄弟说的试没?在config.bib里面用

RAM    StartAddr    length    RAM
可以指定实际可用RAM大小,实际上配置那些环境变量也就是在设这些参数,如果设置后不对,你试试在你的平台输出目录(_FLATRELEASEDIR)里面找到config.bib,然后看看这个设置对不对,如果不对在这里改,改了后在pb里面makeimg。
根据地的兄弟们,团结就是力量
blue123
驱动中牛
驱动中牛
  • 注册日期2002-11-09
  • 最后登录2009-09-14
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-09-02 16:41
http://www.driverdevelop.com/forum/html_76516.html?1094114435
二贴可以相互参考。
努力!
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-09-02 19:47
hi, my friends :

If i edit the config.bib,
PB will give me the following message.

Start 8dba4d0c Len 00000054
Start 8dba4d60 Len 000015ec
Error: Bad rom_width 40!
Fatal error hit, exiting...
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
Error PB2505: Error executing #(C:\WINCE420\PUBLIC\SPhoneII\RelDir\SAMSUN~2\)makeimg.exe.



linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-09-02 20:31

my config.bib  default setting :



; NK name
#define NKNAME NK

; NK Start address
#define NKSTART 8C200000
#define NKLEN 01D00000

#define RAMSTART           8E000000
#define RAMLEN 01F0000

$(NKNAME)   $(NKSTART)      $(NKLEN)    RAMIMAGE
RAM         $(RAMSTART)     $(RAMLEN)   RAM


but i edit the RAMSTART and RAMLEN that still unuse.


linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-09-03 13:26
It could work !!

wxl_50685330 ,

leo_cyl ,

shader,

blue123.

thanks a lot .
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-09-03 15:07
你改哪儿了?不要动8RAMSTART,单加长RAMLEN,注意不要超过你硬件的空间
根据地的兄弟们,团结就是力量
ppoopp
驱动牛犊
驱动牛犊
  • 注册日期2004-05-05
  • 最后登录2013-11-19
  • 粉丝0
  • 关注0
  • 积分192分
  • 威望71点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-09-07 10:49
虽然有所不同,但是还是找到相应得设置,多谢了!~
上一页
游客

返回顶部