* Memory Size Requirement to Run Linux on Embedded Environment
@ 2005-02-12 8:19 David, Albert
[not found] ` <528646bc05021201091a106a96@mail.gmail.com>
0 siblings, 1 reply; 5+ messages in thread
From: David, Albert @ 2005-02-12 8:19 UTC (permalink / raw)
To: 'linuxppc-embedded@ozlabs.org'
[-- Attachment #1: Type: text/plain, Size: 2573 bytes --]
Hi everyone!
I am new to linux and my current project is to port linux on our custom
hardware based on PPC405EP(AMCC).
Currently we are in a hardware design phase but I am finding it hard to
decide the Flash and SDRAM Memory size.
We are planning to us 2.6 Kernel, with minimum hardware interfaces.
Should we use Kernel 2.4 or 2.6?
Main components of my target device are as follows..
1)AMCC PPC405EP processor operating at 66.66Mhz External Oscillator(Hope we
can go for higher operating frequencies by configuring internal registers of
PPC).
2)Virtex-2 Pro FPGA - memory mapped to PPC405.
3)Ethernet Connectivity.
4)IrDA.
5)Two RS232 Serial Ports.
6) IIC Bus.
I assume the binary size of my application that will run on linux would be
around 2 to 3 MB. By considering these facts of my hardware, what would be
the size of kernel? And how many drivers I may require? What would be the
size of my root file system?
Is it necessary to have a NAND Flash to handle the power failures? Or any
CFI compliant NOR Flash would do!
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??
In this mailing list I have read the typical size of U-BOOT will be around
256KB as suggested by Wolfgang Denk.
A rough approximation of Flash and SDRAM size would help me a lot to proceed
with my hardware design.
Pardon me If I am asking too basic questions, I know I have to do lot of
reading before I proceed.
Your inputs are valuable to me!
Thanks in advance for your support,
BR,
Albert David.
- - - - - - - DISCLAIMER - - - - - - - -
Unless indicated otherwise, the information contained in this message is
privileged and confidential, and is intended only for the use of the
addressee(s) named above and others who have been specifically authorized to
receive it. If you are not the intended recipient, you are hereby notified
that any dissemination, distribution or copying of this message and/or
attachments is strictly prohibited. The company accepts no liability for any
damage caused by any virus transmitted by this email. Furthermore, the
company does not warrant a proper and complete transmission of this
information, nor does it accept liability for any delays. If you have
received this message in error, please contact the sender and delete the
message. Thank you.
[-- Attachment #2: Type: text/html, Size: 3931 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread[parent not found: <528646bc05021201091a106a96@mail.gmail.com>]
* Fwd: Memory Size Requirement to Run Linux on Embedded Environment [not found] ` <528646bc05021201091a106a96@mail.gmail.com> @ 2005-02-12 10:17 ` Grant Likely 2005-02-12 18:21 ` Wolfgang Denk 0 siblings, 1 reply; 5+ messages in thread From: Grant Likely @ 2005-02-12 10:17 UTC (permalink / raw) To: linuxppc-embedded Forgot to include list in reply; oops. g. ---------- Forwarded message ---------- From: Grant Likely <glikely@gmail.com> Date: Sat, 12 Feb 2005 02:09:13 -0700 Subject: Re: Memory Size Requirement to Run Linux on Embedded Environment To: "David, Albert" <Albert.David@barco.com> On Sat, 12 Feb 2005 09:19:19 +0100, David, Albert <Albert.David@barco.com> wrote: > > > Hi everyone! > I am new to linux and my current project is to port linux on our custom > hardware based on PPC405EP(AMCC). > Currently we are in a hardware design phase but I am finding it hard to > decide the Flash and SDRAM Memory size. > We are planning to us 2.6 Kernel, with minimum hardware interfaces. > > Should we use Kernel 2.4 or 2.6? Use 2.6 unless you have a ready to go 2.4 port for your board which you do not need to modify. This also assumes that you don't need any of the new 2.6 features. > > I assume the binary size of my application that will run on linux would be > around 2 to 3 MB. By considering these facts of my hardware, what would be > the size of kernel? And how many drivers I may require? What would be the > size of my root file system? 2 to 3 MB if all you put on it is your app, slightly larger otherwise. A very minimal system w/ busybox will easily fit into 1 or 2 MB. > > 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) > > 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 least one sector each. The rest can be dedicated to the kernel and initrd images. Set up a RedBoot partition for each. > > A rough approximation of Flash and SDRAM size would help me a lot to proceed > with my hardware design. 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 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) Make sure you use uClibc and busybox if you want to keep your system small. Cheers, g. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: Memory Size Requirement to Run Linux on Embedded Environment 2005-02-12 10:17 ` Fwd: " Grant Likely @ 2005-02-12 18:21 ` Wolfgang Denk 2005-02-12 18:57 ` Grant Likely 0 siblings, 1 reply; 5+ messages in thread From: Wolfgang Denk @ 2005-02-12 18:21 UTC (permalink / raw) To: Grant Likely; +Cc: linuxppc-embedded In message <528646bc05021202175e967842@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@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_ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: Memory Size Requirement to Run Linux on Embedded Environment 2005-02-12 18:21 ` Wolfgang Denk @ 2005-02-12 18:57 ` Grant Likely 2005-02-12 22:15 ` Wolfgang Denk 0 siblings, 1 reply; 5+ messages in thread From: Grant Likely @ 2005-02-12 18:57 UTC (permalink / raw) To: Wolfgang Denk, Albert.David; +Cc: linuxppc-embedded On Sat, 12 Feb 2005 19:21:00 +0100, Wolfgang Denk <wd@denx.de> wrote: > In message <528646bc05021202175e967842@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 True. > 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. Yes, your right; I mentioned RedBoot partitioning specifically because that happens to be what I've used. Any scheme will work. > > > > 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. I suggested the beginning of flash under the assumption that u-boot would be the first code to execute. Albert, if it is not then you will need to have some other code at the boot location. > > 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? Simply suggestions that I've found useful myself; I'm certainly not saying that that is the best or only way. > > > 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". I stand corrected. > > > 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 Yes, my suggestions are based on assumptions. Albert is still responsible to do his own due diligence to make sure that makes the right decisions. Thanks for the clarifications. Cheers, g. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Fwd: Memory Size Requirement to Run Linux on Embedded Environment 2005-02-12 18:57 ` Grant Likely @ 2005-02-12 22:15 ` Wolfgang Denk 0 siblings, 0 replies; 5+ messages in thread From: Wolfgang Denk @ 2005-02-12 22:15 UTC (permalink / raw) To: Grant Likely; +Cc: linuxppc-embedded In message <528646bc05021210572aaeaa3f@mail.gmail.com> you wrote: > > > 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. > I suggested the beginning of flash under the assumption that u-boot > would be the first code to execute. Albert, if it is not then you > will need to have some other code at the boot location. That's what I intended topoint out: this is hardware dependent; some processiors support low-boot (0x100) and high-boot (0xFFF00100), others have a fixed reset vector (0xFFFFFFFC), and yet other architectures behave differently (like ARM startin at 0x0000). 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 "There are things that are so serious that you can only joke about them" - Heisenberg ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-02-12 22:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-12 8:19 Memory Size Requirement to Run Linux on Embedded Environment David, Albert
[not found] ` <528646bc05021201091a106a96@mail.gmail.com>
2005-02-12 10:17 ` Fwd: " Grant Likely
2005-02-12 18:21 ` Wolfgang Denk
2005-02-12 18:57 ` Grant Likely
2005-02-12 22:15 ` Wolfgang Denk
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).