How does one build an image to be stored in flash, running from ram?

From: remcow (whybcuz_at_yahoo.com)
Date: 06/29/04


Date: 29 Jun 2004 13:31:14 -0700

Hi all
I am trying to build an image to be stored in flash but to be running
from ram (to get rid of the running speed hit you get by running it in
place).

I have the following configurations in my config.bib:
        NK 80080000 01F80000 RAMIMAGE
        .
        .
        ROMOFFSET=BFD0000 ; a flashed image, but running out of ram at
8c050000

This builds an image fine.

My bootloader is based on the library microsoft provides and,
somewhere during download, calls OEMIsFlashAddr (dwImageStart)
This decides whether to start erasing flash, etc if true.

dwImageStart points to the image start in RAM so it will not flash my
image but just load it where it would normally run out of.

What do I have to do to make this image be programmed to flash? Do I
have to modify their lib source in the common directories? Building
stuff in these directories, I get a warning that I am doing something
that one cannot include in a customer release -- they clearly don't
want you to touch their stuff, unless for debug.

Or do I modify my OEMIsFlashAddr to calculate what the offset is
(based on this global ROMHDR struct) and thus signal that this image
is supposed to go to flash? If so, how to I tell the library about
this offset?

Or do I have to not use uSoft's lib and spin my own to make this
happen?

Once this image has been flashed, my intent is to make the bootloader
(when just booting) look at the ROMHDR in flash and where the image
actually belongs, copy it to ram and step into it. Once I get an image
in flash, I'll be golden because that should be easy.

Appreciate any light shed on this.
Regards,
Remco



Relevant Pages

  • Re: ROMOFFSET
    ... This offset will be added to the addresses in your nk.bin. ... the image is made to run in RAM. ... IF you want your image to be burned in flash, you should set it to value ... <apellerin AT adeneo DOT adetelgroup DOT com> ...
    (microsoft.public.windowsce.platbuilder)
  • Re: How does one build an image to be stored in flash, running from ram?
    ... it provides the ability to write Ram-based image into Flash ... > My bootloader is based on the library microsoft provides and, ... > dwImageStart points to the image start in RAM so it will not flash my ... > (based on this global ROMHDR struct) and thus signal that this image ...
    (microsoft.public.windowsce.platbuilder)
  • 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: [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)
  • 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)