Forums

Minimal hardware requirement for uClinux

Started by Unknown September 12, 2005
Hi,

I plan to make a router application using a Coldfire, a Blackfin or an
ARM7 running uCLinux.
I can not find any information on the minimal Flash/Ram required to run
uCLinux. My application will take about 256 kbytes Flash and 32ko RAM.
Does anyone have experience on running uClinux on small configuration ?
Will I have any problem if my hardware has 2Mbytes Flash and 256kbytes
of RAM ?

Thanks

Stan

On 12 Sep 2005 01:51:29 -0700, stan333@hotmail.fr wrote:

>I plan to make a router application using a Coldfire, a Blackfin or an >ARM7 running uCLinux. >I can not find any information on the minimal Flash/Ram required to run >uCLinux. My application will take about 256 kbytes Flash and 32ko RAM. >Does anyone have experience on running uClinux on small configuration ? >Will I have any problem if my hardware has 2Mbytes Flash and 256kbytes >of RAM ?
Yes, you will. Linux (and especially Linux apps) is not designed to run directly from Flash, so you will need much more RAM. 2M Flash and 8M RAM seem to be a good starting point. Mit freundlichen Gr��en Frank-Christian Kr�gel
>> I plan to make a router application using a Coldfire, a Blackfin or an >> ARM7 running uCLinux. I can not find any information on the minimal >> Flash/Ram required to run uCLinux. My application will take about 256 >> kbytes Flash and 32ko RAM. Does anyone have experience on running uClinux >> on small configuration ? Will I have any problem if my hardware has >> 2Mbytes Flash and 256kbytes of RAM ? > > Yes, you will. Linux (and especially Linux apps) is not designed to run > directly from Flash, so you will need much more RAM. 2M Flash and 8M RAM > seem to be a good starting point.
There's a lot of different ways of using memory for a uClinux system. Mostly you have to make a tradeoff between flash and ram. Some possible solutions : - small flash, big ram. Make a compressed image (often gzip/bzip2) of both kernel and filesystem, and have the bootloader unpack everything into RAM. Flash size can often be as small as 1 MB, but you need enough ram to hold all the code and data. This solution is the most straightforward, and is the default for a lot of uClinux distributions. (snapgear, etc) - big flash, small ram. Put your kernel and applications uncompressed in flash, and run from there. On some architectures it's possible to run the kernel and/or applications from flash, search for 'XIP' (eXecute In Place) for more info. In this setup you need at least enough flash to hold the kernel and all your applications and data, and RAM is only used for data/bss/heap. You might be lucky with only 1MB of RAM here. Good luck, -- :wq ^X^Cy^K^X^C^C^C^C