Forums

Reason not to use Linux?

Started by andrew queisser October 26, 2005
I'm looking at OS choices for a 32bit embedded system with USB and 
BlueTooth. Right now our system has no OS at all but at some point we'll 
want one that makes it easy to extend with various peripherals (802.x, flash 
cards, IDE, etc.). The processor will be something like a low-end ARM, PPC, 
MIPS or similar (not chosen yet.) I'm looking at OS choices and Linux would 
fit the bill and I'm comfortable with it (no hard RT requirement we can't 
work around).

What are real alternatives to Linux these days? I'm aware of ecos and 
FreeRTOS on the lower end and, of course, there's the commercial vendors 
like WindRiver, etc And then there's WinCE. What would be some reasons not 
to choose Linux? I'm trying to make sure I don't just pick Linux because 
it's been working ok for me.

Thanks,
Andrew


andrew queisser wrote:
> I'm looking at OS choices for a 32bit embedded system with USB and > BlueTooth. Right now our system has no OS at all but at some point we'll > want one that makes it easy to extend with various peripherals (802.x, flash > cards, IDE, etc.). The processor will be something like a low-end ARM, PPC, > MIPS or similar (not chosen yet.) I'm looking at OS choices and Linux would > fit the bill and I'm comfortable with it (no hard RT requirement we can't > work around). > > What are real alternatives to Linux these days? I'm aware of ecos and > FreeRTOS on the lower end and, of course, there's the commercial vendors > like WindRiver, etc And then there's WinCE. What would be some reasons not > to choose Linux? I'm trying to make sure I don't just pick Linux because > it's been working ok for me. > > Thanks, > Andrew
If you're looking for a UNIX-like operating system then Linux is a very good choice - widely used by embedded systems vendors and available for the processors you mention. One gotcha with Linux is the GPL wrt kernel drivers. Linking (either at compile-time or load-time (in the case of lkms) invokes the GPL in that you are required to make available the source code to your device drivers. If you're not using custom hardware, or you are but there's nothing super secret in the driver then this is a non-issue. Put a driver.tar.gz file on your website and you're covered. If you can't release driver software for other reasons (third party legal restrictions or company secret cleverness reasons) then NetBSD might be the way to go. It too supports on many platforms and the license doesn't require disclosure of source. I prefer the internals of NetBSD to the internals of Linux, but Linux is far more mainstream (Linksys and Tivo are brand-name users) and as such has more "cycles" on ARM, PPC, etc than NetBSD does. This means you'll not be the only one running into problems if they turn up, and you can get professional (paid for) support. Good luck. Paul.
Hi Andrew,

there are many aspects of a system that would dictate which OS may or may 
not be suitable for your project. Before making an OS decision, it is 
generally a good idea to have a shortlist of processors that would be 
suitable for the job. The choice of processor might be for many reasons...

Cost of the processor
Heat dissipation
Power Consumption
Processing power
On-Chip Devices
On-Chip Ram
and many more

Once the processor has been chosen for specific reasons that are related to 
your product, then you would tend to select an OS that exploited the 
features of that processor.

For example, if your product was battery powered then you would want to make 
sure that you had a 'fast' operating system that was able to control power 
management features of the processor.

If the product is going to remain powered up and operation for extended 
periods of time, then you may not care how long the OS takes to boot, but 
you may care how fragmented the memory becomes. If the product is power 
cycled on a regular basis, then you would want an OS that booted very 
quickly, but would not necessarily care whether the memory became fragmented 
or not.

Linux as a candidate, is slow, large, disk based (even if the disk is in 
RAM) and very complicated to configure for bespoke hardware. If you need to 
write your own device drivers then you are buying yourself a large chunk of 
engineering hours just to get that part working.

On the plus side, Linux is free and lots of programmers know how to write 
applications for it.

I would ask myself... If this system does not really have any real time 
requirement, then why not just use a PC?

If there are specific reasons why a PC running Linux would not do the job, 
then you need to ask yourself whether your needs will be met by embedding 
Linux into some other hardware or whether you will only achieve your goal 
with an RTOS.

Hope this helps.

K.

Is the product battery powered or is power easily available
"andrew queisser" <andrew.queisser at hp com> wrote in message 
news:435fe3a6$1@usenet01.boi.hp.com...
> I'm looking at OS choices for a 32bit embedded system with USB and > BlueTooth. Right now our system has no OS at all but at some point we'll > want one that makes it easy to extend with various peripherals (802.x, > flash cards, IDE, etc.). The processor will be something like a low-end > ARM, PPC, MIPS or similar (not chosen yet.) I'm looking at OS choices and > Linux would fit the bill and I'm comfortable with it (no hard RT > requirement we can't work around). > > What are real alternatives to Linux these days? I'm aware of ecos and > FreeRTOS on the lower end and, of course, there's the commercial vendors > like WindRiver, etc And then there's WinCE. What would be some reasons not > to choose Linux? I'm trying to make sure I don't just pick Linux because > it's been working ok for me. > > Thanks, > Andrew > >
Check out uCLinux, definitely a nice suite, all freware, very low
footprint and nice feature set. Works with Xilinx FPGAs on Microblaze
and PPC.

> What are real alternatives to Linux these days? I'm aware of ecos and > FreeRTOS on the lower end and, of course, there's the commercial vendors > like WindRiver, etc And then there's WinCE. What would be some reasons not > to choose Linux? I'm trying to make sure I don't just pick Linux because > it's been working ok for me.
WinCE might be a good option due to: - Quality of development tools - GUI based interfaces for embedded systems - Driver support Another option in the Windows world would be Windows XP Embedded. WindRiver has been used in the embedded world for a long time. It can be configured to work with a tiny footprint. -- EventStudio System Designer 2.5 - http://www.EventHelix.com/EventStudio Sequence Diagram Based Real-time and Embedded System Design Tool
Sonic wrote:

> there are many aspects of a system that would dictate which OS may or > may not be suitable for your project. Before making an OS decision,
(snip)
> Hope this helps.
I couldn't agree more! Very sound advice. Take heed! Regards, Mark
>> What are real alternatives to Linux these days? I'm aware of ecos and >> FreeRTOS on the lower end and, of course, there's the commercial vendors >> like WindRiver, etc And then there's WinCE. What would be some reasons >> not >> to choose Linux? I'm trying to make sure I don't just pick Linux because >> it's been working ok for me.
> WinCE might be a good option due to: > - Quality of development tools > - GUI based interfaces for embedded systems > - Driver support >
> Another option in the Windows world would be Windows XP Embedded.
I did not know that Windows XP Embedded ran on ARM, MIPS, PowerPC... If you work with Linux you limit yourself to chips which has an MMU. If you work with ucLinux you can work with smaller devices without MMU. If you require an MMU (Linux/WinCE) you also could lose some possibilities for integration The AT76C902 has ARM946 (without MMU) and an integrated WLAN MAC (implemented using an ARM7). If you just want USB & Bluetooth, you could use an AT91SAM7S256. This has 256 kB Flash + 64 kB SRAM in a 64 pin package which should be plenty in this application. Since it does not have an external bus, It does not support Linux or uCLinux. For growth, you can (pretty soon) use the AT91SAM7SE which has both internal flash and external bus (with Compactflash support) or move up to an AT91RM9200 which has most conceivable peripherals. Choosing Linux would cut off the lower end of the price range. I think that if you use a small foot print RTOS you will have a much cheaper device for the low end jobs and can use a larger device in the same family You could also decide that Linux and ucLinux are to be considered to be one operating system and use Linux when possible and otherwise uCLinux. Feel free to contact me directly if you want more info on the AT91 series.
> > WindRiver has been used in the embedded world for a long time. It can > be configured to work with a tiny footprint. >
-- Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may bot be shared by my employer Atmel Nordic AB
On Wed, 26 Oct 2005 13:14:30 -0700, andrew queisser wrote:
...
> What are real alternatives to Linux these days? I'm aware of ecos and > FreeRTOS on the lower end and, of course, there's the commercial vendors > like WindRiver, etc And then there's WinCE. What would be some reasons not > to choose Linux? I'm trying to make sure I don't just pick Linux because > it's been working ok for me.
I can't think of any better reason to pick it than "it works." Admittedly, I'm somewhat of a Linut, so promote it every chance I get. :-) The most compelling reason _to_ use Linux, in my book, is the price. $0.00. :-) Cheers! Rich
"Rich Grise" <rich@example.net> wrote in message
news:pan.2005.11.02.01.40.23.595957@example.net...
> On Wed, 26 Oct 2005 13:14:30 -0700, andrew queisser wrote: > ... > > What are real alternatives to Linux these days? I'm aware of ecos and > > FreeRTOS on the lower end and, of course, there's the commercial vendors > > like WindRiver, etc And then there's WinCE. What would be some reasons
not
> > to choose Linux? I'm trying to make sure I don't just pick Linux because > > it's been working ok for me. > > I can't think of any better reason to pick it than "it works." Admittedly, > I'm somewhat of a Linut, so promote it every chance I get. :-) The most > compelling reason _to_ use Linux, in my book, is the price. $0.00. :-)
On an embedded platform the price is rarely zero because it restricts the design to have eneough resources to run it. If your app needs a few hundred K of flash and 10s of K of RAM then it will cost money to add what is needed for Linux. OTOH if you already have a few megs then you're probably already well enough resourced. Peter