point
Menu
Magazines
Browse by year:
Open Source In Embedded Products
Inder Singh
Tuesday, September 30, 2003
OPEN SOURCE SOFTWARE HAS ACHIEVED unprecedented popularity in recent years, especially with the rapid growth in the use of the Linux operating system. Much of the attention received by Linux has been focused on its growing use in enterprise server applications, as an alternative to Microsoft Windows and Unix systems from Sun, IBM and others. A growing body of complimentary open source products such as the Apache web server, PHP and MySQL database are being used widely to provide comprehensive open source solutions.

In parallel with this growing interest in Linux in the server market, there has been a phenomenal growth in the use of Linux and related open source products in the exploding embedded market, which has not received as much attention. Embedded products, which contain a microprocessor and software dedicated to a single purpose, range from telephone switches and network routers to medical instruments, consumer entertainment products and missile control systems.

New applications for embedded intelligence are appearing in more and more areas. The silicon industry, riding Moore’s Law, constantly drives down the cost of processors and memory. As MIPS and megabytes become less and less expensive, it creates a very compelling case for designing embedded processors and software into every conceivable product. Even during the recent economic downturn, we have continued to see many new embedded products in areas like hand-held and wireless consumer products, powerful networked military systems, and emerging biotechnology applications. We are moving toward a world of pervasive computing, with intelligent products surrounding us at home, in the workplace, in our cars, and on our person as we go about our lives.

At the same time, the complexity of embedded software is skyrocketing. Developing all these new embedded systems on schedule and at an affordable cost is a growing challenge that Linux and complementary open source software are helping to solve. The embedded world differs from mainstream computing in the diversity of processor architectures and many different proprietary embedded operating systems. One result of this is the scarcity of off-the-shelf software packages. Most embedded software is designed from scratch, although this is starting to change.

The phenomenal growth in the use of embedded Linux has been driven by many compelling benefits offered by Linux over other traditional proprietary embedded operating systems. Developers like having access to the source code at no cost and there are no royalty fees for incorporating Linux into their products. With the rapid growth in the popularity of Linux as an open multi-vendor system, there is a growing base of software, both open source and licensed products, available under Linux, which is helping to reduce the engineers’ development efforts. In comparison to other proprietary real-time operating systems (RTOSs), Linux supports a wide variety of hardware devices, from CPUs to network and graphics chips and boards. The semiconductor industry, led by Intel, is supporting Linux to provide out-of-the-box software support for new devices, which can be freely distributed as open source. One can usually find a driver for any new device on the web for Linux well before it is widely supported by RTOS vendors.

Today, embedded developers often find themselves locked into proprietary solutions, and dependent on the product plans, and even survival, of a specific vendor. With Linux, developers are protected from dependency on a single vendor’s future directions and successes – their applications can be easily moved to Linux systems from multiple suppliers, as well as to other UNIXs and compatible systems. With proprietary operating systems, the source code is often times unavailable or expensive. So when developers run into any problems, the vendor’s responsiveness, or lack thereof, can lead to painful product schedule slippages. At the same time, there is an abundance of open source and commercial software product resources that can be found on the World Wide Web, including middleware, tools and device drivers. Additionally, there is an active and helpful developer community.

As an open source product, Linux leverages the work of thousands of developers. It has developed an excellent reputation for robustness, reliability and security. Linux provides excellent networking support that is well integrated into the system.

Many embedded applications require real-time performance, which is provided by traditional real-time operating systems (RTOSs). Standard Linux is not a real-time system, however, embedded Linux vendors to address this requirement are adapting Linux. Some vendors, including TimeSys and MontaVista have modified the Linux kernel to reduce latencies and support real-time scheduling, leading to what may be called “soft real-time” suitable for some applications that have modest real-time requirements. Another approach being taken by LynuxWorks with BlueCat/RT and FSM Labs with RTLinux is to combine a small real-time kernel with a Linux kernel, which essentially runs as a task under the real-time kernel. This approach requires the applications to be partitioned, and is suitable for applications that have small well-defined portions that require hard real-time. A third approach taken by LynuxWorks with its LynxOS RTOS, which is compatible with Linux at both the source and binary level, is to effectively replace the Linux kernel with a hard real-time kernel with the same software interfaces as Linux. This is suitable for more complex applications requiring hard real-time, but is not an open source solution.

The latest version of the Linux kernel, release 2.6, introduces many new features that make it an excellent operating system for embedded computing. Among these new features are enhanced real-time performance, easier porting to new computers, support for large memory models, support for microcontrollers, and an improved I/O system.

According to several market research reports, Linux is the fastest growing operating system for embedded systems and it is now the most popular, being used for half of all new designs. The adoption of embedded Linux will further increase with release of the 2.6 kernel. With the availability of real-time performance in the standard Linux kernel, customers do not to choose one of the special enhanced versions available from a specific vendor, removing a key concern that has been holding back the use of Linux for many embedded systems that have real-time requirements.

One of the most tantalizing promises of Linux for the highly fragmented embedded market is the promise of an open, multi-vendor standard platform for embedded software. The embedded markets have never had the equivalent of a software platform like DOS or Windows around which a software industry could grow. Embedded developers have had to develop most of their software from scratch, with far fewer choices of tools and middleware to build upon than their mainstream counterparts, and there has been much effort expended reinventing the wheel for each project.

The ELC Platform Specification (ELCPS) released early this year by the Embedded Linux Consortium will further reinforce the momentum of Linux as the leading platform based on open standards for the embedded industry, providing a very attractive alternative to closed, proprietary environments from Microsoft and many RTOS vendors.

The growth of embedded Linux is helping to foster an ecosystem of providers of products and services. There are a growing number of open source, as well as non open source, packages already available for developing embedded systems using the embedded Linux platform including web browsers and servers, graphical user interface packages, databases, protocol packages and multimedia support. We will see many more middleware and application packages, often focused on different vertical markets. This, in turn, will facilitate the development of many more embedded products and help to grow the whole market.

Dr. Inder M. Singh is the CEO and Chairman of LynuxWorks. He founded Excelan and served as its chairman, CEO and president until 1985. Dr. Singh was a co-founder of Kalpana, which pioneered Ethernet switching technology, and was one of Cisco's early acquisitions. He is Board Chairman and ELC President for the Embedded Linux Consortium. Dr.Singh holds Ph.D. and M.Phil. degrees in computer science from Yale University, and an MSEE from Polytechnic Institute of New York.
Twitter
Share on LinkedIn
facebook