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_