Fwd: Memory Size Requirement to Run Linux on Embedded Environment
Wolfgang Denk
wd at denx.de
Sun Feb 13 05:21:00 EST 2005
In message <528646bc05021202175e967842 at mail.gmail.com> you wrote:
>
> > 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.
> > 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 at 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_
More information about the Linuxppc-embedded
mailing list