Re: WindowCE 5.0 + XIP Chain question!

1) No matter what kind of Flash technology you are using, you could still use XIP Chain. Just consider the ordinal/non-XIP Chain case, if you are using XIPable memory (like NOR Flash), the bootloader just jump into the starting address and that's all; in the other hand, if it is non-XIPable (NAND Flash, CF and etc), the bootloader will need to load the image into RAM first. So the same thing in XIP-Chain solution, it depends on your memory technology and the bootloader will need to load the whole bunch thing into RAM or just jump to the starting address.

a, b) The romiamge.exe will generate one single image, xip.bin that contains all of the .bin region and you only need to download the xip.bin. Here is another thread discussing about BinFS and Multiple XIP you may want to take a look -

c) The is a good question, but unfortunately there is no simple way but you need to tweak the BIB files. In fact, you could avoid tweak every BIB files but just modify the final merged BIB (ce.bib) file in your PREROMIMAGE.BAT (in CE6 it will be preri-<BSP NAME>.bat) or similar place just before romimage but after the ce.bib is generated. Actually, if you could access the Windows Mobile 2003 Adaption Kit, it does have some Java Scrip or VBS, I can't remember that will tweak the BIB and assigned particular modules into specific XIP regions.

d) That is another good question and again there is no good solution so far. As you said, the new MDD/PDD dose not work well with bootpart.lib and BinFS; in current timeframe, if there is no particular reason you will need to use the new MDD/PDD architecture, you may still stay on the legacy FAL/FMD which should be okay with bootpart.lib and BinFS.

"embedinfo" <embedinfo@xxxxxxxxx> wrote in message news:baabd44c-8184-41ad-b0be-d5d350b94904@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Oct 17, 3:20 am, "K. S. Huang" <ksh_AT_yahoo_DOT_com> wrote:
With XIP Chain, you still need to load all of the section into RAM at once
when booting.
As your loading on demand, the BinFS will be more suitable for you.
Basically, it is working as your expectation, having a tiny kernel with
minimum drivers just enough to mount the BinFS, and all of the consequence
drivers and files are loaded from BinFS volume.

For more info, you may refer to
but this one could be
better although it is for CE 6.

Note that although by using the BinFS will come out a smaller image for boot
loader to launch which implies the loading process in boot loader could be
faster, but due to the demand paging could introduce numerous page-in/out
that could bring an impact to the overall performance.
One could fine tune the page size by changing cbNKPagingPoolSize OAL
variable, for more detail could refer to

Hi All,

Thanks for the quick reply. But here are my doubts:

1) Does XIP Chain needs special type of flash? I checked datasheet of
flash card that I am using and got to know that it doesn't support
XIP.My question is, whether I can use XIPChain concept with my flash?
2) As per Mr. K.S Haung, I have to store multiple .bin files in BINFS
partition, which can read these formats.
My questions are as follows:

a) Whether I have to store Apps.bin, Drivers.bin, Filters.bin in the
same BINFS partition?
b) Whether I have to download, NK.bin, Apps.bin, Drivers.bin one by
one through platform builder? Or once NK.bin boots and loads basic
drivers, I have to transfer remaining binaries through remote tools by
means of KITL or activesync?
c) Another observations is, because, some of the OS component such as
internet explorer the NK.bin image size increases considerably. How do
I add miscallaneous OS components into separate XIP region? Whether
following is valid .bib entry?

iexplorer.exe $(_FLATRELEASEDIR)\iexplorer MyXIP SH

In short how can I add default OS component to desired .bin?

d) Last question is about Windows CE 6.0. I have a BSP that supports
Windows CE 6.0 with new FMD architecture (MDD/PDD). But one of the
post says there is no way we can create BINFS partition at the
bootloader level (boot partition) with new architecture (I mean no one
has found solution yet). So in such case how do I create BINFS