Re: WindowCE 5.0 + XIP Chain question!

In the other hand, have you tried to set the cbNKPagingPoolSize in OAL?
This setting will allocate a dedicated paging pool and it will page out the modules when full.

"K. S. Huang" <ksh_AT_yahoo_DOT_com> wrote in message news:OaqYeg8MJHA.4772@xxxxxxxxxxxxxxxxxxxxxxx
So you got a 61MB of program memory (is that shown in your control panel memory applet?) and got 13MB already in use.
And you would like to minimize this part further more?
Firstly, you will need to figure out how the 13MB being consumed, the mi command in CE Target Control (CEShell) could provide a text base memory usage report and other memory tracking utility might give you more info.
And remember that, even with BinFS only the read-only could be paged out (like code...), the more R/W data you requested in your application/driver, the more program RAM it will be consumed.
Besides that, drivers usually loaded by LoadDriver rather than LoadLibrary API which will load the whole driver into memory and will not be paged-out.
For those non-critical drivers, you may load the driver by LoadLibrary API by indicating specific Flags registry settings.

- Show quoted text -


Thanks for your great support!. I tried your suggestions.

1) I could add all my drivers in DRVR.bin, Apps to apps.bin and multi
media apps/filters in MM.bin.
2) I could generate xip.bin and xip.nb0.
3) I stored xip.bin in BINFS and able to boot the device.

But I didn't find any change in amount of memory in-use. So whether
XIP method is really helpful for me, is a question.

Let me re-define my requirement as follows:

I have a NK.bin of size 9MB that includes (tiny kernel, drivers and
filters). But after the devide boots up, I see that in use program
memory is 13MB roughly.

I have a RAM of 70MB. Out of which 9MB is RAMIMAGE (when we copy
NK.bin to RAM, before jumping). Remaining 61MB is devided into Storage
and Program memory. I have kept my storage memory very low (minimum
i.e. FRAMPERCENT = 00000004). So as per documentation roughly 61MB
(61MB - FRAMPERCENT (i.e. 128KB) should be available as program
memory) But I see that out of 61MB program memory 13MB is in use.
This memory may be used by running OS and drivers/filters. I am not
allotting any large memory chunk, in any of my drivers. So it could be
by OS components. How can I reduce this usage?