Dear Sir,

I use PXA27X and WINCE 5.0 to develop my project.

As my understanding, If the NK.nb0 locate in Flash and OS excute the
NK.nb0 in Flash , it is call "XIP".
Right?

Currently, I un-select IMGFLASH and build a NK.bin , then I burn the
NK.bin into Flash.
When user bootup the system , the bootloader will decompress the NK.bin
and load Image into SDRAM and OS will excute in SDRAM.

I found the following message in the compile log file.
//+++++++++++++++++++++++++++++++++++++++++++++
Pass 1...
Code space full, fixing up rtcclient.dll to ram space
Code space full, fixing up rtcimsp.dll to ram space
...
...
Pass 2...
RAM AutoSize: RAM Start=82090000 RAM Size=05f70000
Module osaxst0.dll at offset 02001000 data, 04001000 code
Module hd.dll at offset 02001000 data, 04001000 code
...
...
Module ddhel.dll at offset 01e14000 data, 02151000 code
Module rtcclient.dll at offset 01d31000
Module rtcimsp.dll at offset 01d01000
...
//--------------------------------------------

After I search the article in the forum , some expert reply it is
(Slot-1)XIP issue.

But I already upload Image into SDRAM and excute it.
So system should NOT enable XIP . Right ?



Beside , If I select many catalog item and rebuild my Image.
And I excute "PowerPoint Viewer" , the following message will be
displayed.
Then I remove some catalog item and rebuild my Image , the "PowerPoint
Viewer" work well.
Why?
How to solve this issue ?
//+++++++++++++++++++++++++++++++++++++++++++++
Data Abort: Thread=875cd9dc Proc=820c6f50 'gwes.exe'
AKY=00000089 PC=018d88a8(ddi_powervr.dll+0x000288a8)
RA=00000002(???+0x00000002) BVA=08000042 FSR=00000007
//--------------------------------------------


Do anyone have idea about my issue ? ~~>_<~~

BR,
Wiles

Re: XIP problem by Henrik

Henrik
Tue Jun 20 04:18:52 CDT 2006

XIP may have different meanings depending on the context. You're right
that running code directly from flash is called XIP, but that's not
quite what we're talking about here. In the context of dll:s "XIP"
basically means that the dll:s are prepped and laid out in the OS image
in such a way that they can be mapped directly from the image into the
virtual address space of any application without having to alter the
binary information contained in the dll in any way. This makes it
_possible_ but not _nessecary_ to place this region of the image on a
flash or a rom and execute directly from there.

There's a pretty old, but good, article explaining this. It's for CE4
but the theory is the same for 5.0:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncenet/html/advmemmgmt.asp

Worth to point out before reading the article is that the difference
between RAM and ROM in CE is slightly academic. An image designed to
run entirely out of RAM will usually also fixup dll:s to run as XIP,
because in a RAM based image, part of the physical RAM is basically
_treated_ as read only program memory.

So, what you're _probably_ are looking at with the "PowerPoint Viewer"
problem is a school example of the kind of virtual memory starvation
discussed in the article.

Henrik Viklund
http://www.addlogic.se

dirw wrote:
> Dear Sir,
>
> I use PXA27X and WINCE 5.0 to develop my project.
>
> As my understanding, If the NK.nb0 locate in Flash and OS excute the
> NK.nb0 in Flash , it is call "XIP".
> Right?
>
> Currently, I un-select IMGFLASH and build a NK.bin , then I burn the
> NK.bin into Flash.
> When user bootup the system , the bootloader will decompress the NK.bin
> and load Image into SDRAM and OS will excute in SDRAM.
>
> I found the following message in the compile log file.
> //+++++++++++++++++++++++++++++++++++++++++++++
> Pass 1...
> Code space full, fixing up rtcclient.dll to ram space
> Code space full, fixing up rtcimsp.dll to ram space
> ...
> ...
> Pass 2...
> RAM AutoSize: RAM Start=82090000 RAM Size=05f70000
> Module osaxst0.dll at offset 02001000 data, 04001000 code
> Module hd.dll at offset 02001000 data, 04001000 code
> ...
> ...
> Module ddhel.dll at offset 01e14000 data, 02151000 code
> Module rtcclient.dll at offset 01d31000
> Module rtcimsp.dll at offset 01d01000
> ...
> //--------------------------------------------
>
> After I search the article in the forum , some expert reply it is
> (Slot-1)XIP issue.
>
> But I already upload Image into SDRAM and excute it.
> So system should NOT enable XIP . Right ?
>
>
>
> Beside , If I select many catalog item and rebuild my Image.
> And I excute "PowerPoint Viewer" , the following message will be
> displayed.
> Then I remove some catalog item and rebuild my Image , the "PowerPoint
> Viewer" work well.
> Why?
> How to solve this issue ?
> //+++++++++++++++++++++++++++++++++++++++++++++
> Data Abort: Thread=875cd9dc Proc=820c6f50 'gwes.exe'
> AKY=00000089 PC=018d88a8(ddi_powervr.dll+0x000288a8)
> RA=00000002(???+0x00000002) BVA=08000042 FSR=00000007
> //--------------------------------------------
>
>
> Do anyone have idea about my issue ? ~~>_<~~
>
> BR,
> Wiles