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?



Relevant Pages

  • 2.6.33 dies on modprobe
    ... The kernel starts up fine and mounts the root-filesystem, ... Freeing unused kernel memory: 408k freed ... # CPUFreq processor drivers ...
  • Re: s2disk hang update
    ... This looks like we have run out of memory while creating a new kernel thread ... because the I/O doesn't work at this point). ... Keep 1 MB of memory free so that device drivers can allocate some pages in ...
  • kernel panic - not syncing: out of memory and no killable processes
    ... Kernel panic - not syncing: Out of memory and no killable processes... ... Re-tune the scheduler latency defaults to decrease worst-case latencies ... # Device Drivers ...
  • Need help debugging memory corruption
    ... I'm trying to track down a memory corruption bug in the atl1 network ... Allocating PCI resources starting at d4000000 ... PCI: Scanning behind PCI bridge 0000:00:01.0, config 010100, pass 0 ... # CPUFreq processor drivers ...
  • Re: [GIT PULL v3] Early boot SLAB for 2.6.31
    ... Thread overran stack, or stack corrupted ... Scanning 0 areas for low memory corruption ... Virtual Wire compatibility mode. ... # AX.25 network device drivers ...