[ECOS] Flash support additional RAM usage.

David Ho davidkwho@gmail.com
Mon Jul 24 19:53:00 GMT 2006


Hi,

I have noticed that when flash support is added to RedBoot the overall
usage of RAM is more than doubled (+ 77KB roughly).  Now I understand
that when we program/erase flash, flash is not accessible so code has
to be run from RAM.  But 77KB is a lot more than the flash routines
themselves.

(Note that, our system has 256KB internal RAM, 1MB external RAM).

Now because in our specific case, we are attempting to maximize the
use of internal RAM for application code, loaded using an ELF file
programmed in flash.  We have a number of options, but a number of
which requires knowing quite intimately what RedBoot is doing with the
77KB of RAM.  Here are the options:

1) Overwrite RedBoot RAM upper memory region with application code
during the "load" command.
2) Make RedBoot use as little RAM as is necessary.
3) Move RedBoot code to external RAM and leave region reserved.

Option 1. requires knowing whether RedBoot runs code in RAM when it is
not managing flash, i.e. during normal application boot-up sequence.
Option 2. requires knowing whether there is a simple way to reduce
RedBoot memory usage.
Option 3 means that those 77KB of external RAM is locked during
application loading, and thus only become assessible as a heap perhaps
when control is given to application.

I would very much appreciate if an expert can shed some lights on this issue.

Thank you very much,
David


+
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 15:29:59, Jul 24 2006

Platform: NMX SATMODEM (ARM7TDMI)
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x10000000-0x10040000, [0x000095e8-0x00040000] available
     0x10000000-0x10100000, [0x10000000-0x10100000] available

+
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 17:13:59, Jul 21 2006

Platform: NMX SATMODEM (ARM7TDMI)
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

RAM: 0x00000000-0x00040000, [0x0000a008-0x0002d000] available
     0x10000000-0x10100000, [0x10000000-0x10100000] available
FLASH: 0x00400000 - 0x00800000, 128 blocks of 0x00010000 bytes each.

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list