Re: Wince OS update Utility



The application is in RAM, the operating system is not. If you get an
interrupt, generate an exception, or make an OS call then you will be back
to running from flash. At that point, you can only hope that you are
running from cache, and you won't always be.

You can control interrupts by disabling them, you can ensure you don't make
OS calls. But you can't disable exceptions. You have to understand how
they could be generated and make sure you do nothing that might cause that
to occur (and using the stack is one task that can cause an exception).

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Sire Buwa" <SireBuwa@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:4D7DB1BF-7F0C-4B01-B2FF-68B6257A8833@xxxxxxxxxxxxxxxx
Hi All,

Thanks in advance for all your help. At the moment the Flash erasing
functionality works fine. But when I try to write to the flash after
deleting
the required field need to be updated the application stops responding.

But as I mentioned early the same application run without any error when
the
OS image is RAM Image.

At the moment the I manually copy the Application using Active sync. So
the
the Utility application is totally run on RAM.

So is there any reason the Flash Erasing works OK and Flash Write fail ?

Please help me.
Sira...




"Valter Minute" wrote:

"Dean Ramsier" <ramsiernospam@xxxxxxxxxx> wrote in
news:e$gqyb5$HHA.748@xxxxxxxxxxxxxxxxxxxx:

And make sure no exceptions occur. That means no page faults,
stack faults etc. Note that while you have interrupts off,
nothing else (including the OS timer) will run. Keeping in mind
that the operation can take several *seconds* to complete (the
erase, anyway) the system can be disabled for quite a long time.
To do this properly is a far more difficult task than what you
probably have in mind.


IIRC some flash memories (Intel's strata flash?) allows you to suspend
and then resume delete operations and this will allow you to re-enable
interrupts often. Obviously this will slow down the process and will
made also the task more complex.
You should consider also that an error during the upgrade operation
may leave the device in a "bricked" state unless you provide and
alternate OS image that can be booted or other upgrade mechanism.

--
Valter Minute
(the reply address of this message is invalid)
(l'indirizzo di reply di questo messaggio non è valido)



.



Relevant Pages

  • Re: Performance and Flash Pipelining on TI 28F12 DSPs
    ... > of "critical code" we could move to RAM. ... > from internal flash? ... Since the external RAM is as big as the internal flash, ... the timers and all other interrupts are shut off, ...
    (comp.dsp)
  • Re: update OS on custom device
    ... My question was not so clear as my image is running from RAM (not XIP). ... How can avoid user processes accessing the flash through PSM driver? ... enable interrupts at all, so no need to disable them. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: [ANNOUNCE] Ramback: faster than a speeding bullet
    ... The fact is, enterprise scale ramdisks are here now, while ... enterprise scale flash is not. ... does not approach the write performance of RAM, ... My goal is not to replace RAM with flash, but disk with flash. ...
    (Linux-Kernel)
  • Re: Relocate from nor to ddr CE 5.0
    ... programmed into flash. ... but the image info says it belongs to ram. ... Your bootloader needs to have code that recognizes if the image is ... blt CODEINRAM ...
    (microsoft.public.windowsce.platbuilder)
  • XIP vs RAM
    ... Maybe the system can even get away with the next small size RAM ... Does anyone know if/what the premimum of the "K" Strata FLASH is? ... Also what are the steps needed to transition to a XIP OS? ... >>> My bootloader create a BINFS partition and an EXTENDED partition on ...
    (microsoft.public.windowsce.platbuilder)