About
Embedded Linux
Introduction
Linux
has suddenly become the choice for embedded devices.The reasons
for this change are many ,we shall try here to count a few
prominant ones and give a brief description for the same.
As we know linux as desktop platform has gained wide acceptence -more
so for runnig on servers. The shift from other platforms to linux has
been fueled by the stability,evolution of the platform to cater to
varied needs of users and device manufacturers. The device suport for
the platform is increasing with drivers being written for new and newer
devices as the platform is gaining favours of device
manufacturers.
But the greatest thing to have allowed this all to
happen is free availability of source and thus a large community of
developers that work together to create the great support network for
the platform.Similar reasons apply to growth of linux as an
embedded platform.Here we shall try to enumerate a few discretely.
Advatages:
a)Linux Architecture & Open Source :
The effect of this great advantage needn't be described - the
gains are obvious.We have full control over the kernel code which helps
alot in the development process.The design of the kernel to
support muliple platforms ,with clear identification of arch,h/w
dependent part has helped tremendously in integration of support for
various platforms to the kernel.
Linux being open source helps people share resources
and collaborate on the development of support openly with no associated
issues of other proprietary OS.
b)Lot of driver support:
With increase in device support ,the number of
different embedded applications that can use linux as their platform
has increased many folds over the last few years.Besides these drivers
themselves are freely available under GPL .This adds reliability since
they have been tested on h/w by many people.With such community work
and sharing of information bugs get removed fast.
c)Active linux development groups and mailing lists:
Linux is one of the blessed platforms that has got tremendous support
form individuals how are actively involved in development and porting
of linux for different platforms.Thus there are ports of linux
available for various h/w combinations avaible on the net.Add to that
the mailing lists that these people maintain and we can imagine how
easy it becomes to start on a new architecture and get it working well
in a small time.
d)Increasing processing power and ram size:
We have much bigger ram and processing power available these days on
the new embedded devices ,with MMU,networking support and many
peripherals.Which makes the tidious task of writing a custom kernel and
then worrying about making it capable of multitasking rather
unnecessary. So for most purposes just porting linux for the
architecture and then using the appropriate cross-compilers suffices.In
fact linux has been ported for devices as diverse as from
mictocontrollers(without the elaborate MMU setups-refer to ucLinux) to complex
SoCs like the OMAP that we are working with.
e)Networking support:
Linux
network stack is known to function very well and embedded linux brings
the same advantage to the new embedded device which are increasingly
becoming network oriented.
f)Human interaction:
Linux works just well for making interactive
embedded devices with many small GUI toolkits available for video
interaction with the user.There are many video h/w handling libraries
available that give good fuctionality in as small as 100 KB of ram-size.
A few Good Sites to read about scope
and advantages of embedded linux:
http://www.linuxdevices.com
http://www.uclinux.org
http://www.mvista.com/dswp/index.html
http://www.mvista.com/dswp/Leveraging_Linux.pdf
About the
2.6 kernel that is even better for embedded
Another document from RedHat
A document from Mayan& Ankit on similar
issues
Avinash
Prasad
Dec'2003