Thread (2 messages) flat view 2 messages, 2 authors, 2005-02-12

Re: Fwd: Memory Size Requirement to Run Linux on Embedded Environment

From: Wolfgang Denk <hidden>
Date: 2005-02-12 18:21:26

In message [ref] you wrote:
quoted
There will be parameters of about 65KB are to be used and these parameters
can be changed in the field. This parameter block will have 2 copies to
avoid data corruption due to power fail. Hence to avoid the use of NAND
Flash I will be using 2 Parameter files to read and write(into flash) in a
linux environment during normal operation. Am I right??
You could map the FLASH as a MTD device and write to two different
sectors directly; then you can use a RAM disk instead of going with
JFFS on your flash.  Use a separate RedBoot partition for each
parameter sector.  (Note; using RedBoot partitions does not preclude
using u-boot)
I can't parse that. Using a ramdisk (as root filesystem?) has nothing
to do with using a JFFS2 (not JFFS) filesystem for data storage.  And
actually  it's  usually  better to use a cramfs based root filesystem
plus tmpfs for transient data  storage.  Finally,  I  don't  see  any
reason  for  a "RedBoot" partition - any MTD partition will work just
fine.
quoted
In this mailing list I have read the typical size of U-BOOT will be around
256KB as suggested by Wolfgang Denk.
U-boot will live at the beginning of flash.  The u-boot environment
will take up another sector.  Your parameter files will take up at
This is not correct. U-Boot is located where your memory map dictates
it, this can be the begining or the end or right  in  the  middle  of
your flash - depending on your hardware design.

And 256 kB is an upper size limit  including  the  environment  (with
enough spare even for redundand environment in most configuration). A
typical U-Boot image (including environment) is 150...190 kB.
least one sector each.  The rest can be dedicated to the kernel and
initrd images.  Set up a RedBoot partition for each.
What for?
How much RAM does your app need?  32M is gobs for a simple system.  If
it's ultra simple you may even be able to go down to 16 (don't quote
In 16 MB you can run a native GCC  which  definitely  is  far  beyond
being "ultra simple".
me though).  Add more if your app is RAM hungry.  16M of flash should
also be gobs.  (Assuming 1-2M for the kernel and the rest for the
initrd image)
It is very difficult to make recommendations without more information
about system requirements. Yes, it is usually possible  to  implement
simple devices like a firewall / router / WLAN AP etc. in 4 or better
8 MB flash and 16 MB RAM. But you will also have to take into account
if  there  are  requirements  like  reliable  software  updates  with
guaranteed fall-back (which may  require  storage  capacity  for  the
fall-back version) or similar features.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
"If you own a machine, you are in turn owned by it,  and  spend  your
time serving it..."    - Marion Zimmer Bradley, _The Forbidden Tower_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help