Open-source software is seriously impacting embedded systems development. In a recent Venture Development Corp. (VDC) survey of embedded developers, Linux was the most cited operating system for current projects. For next-generation projects, that usage is expected to double.
Vendors of commercial operating systems and development tools have taken notice, not only to adapt and learn from Linux and other open-source software, but also because traditional software suppliers increasingly adopt them as key components within their broad product lines. Linux and Eclipse tend to dominate the embedded market right now. But other tools, operating systems, and components also deserve consideration.
Linux adoption has found traction in the embedded systems market, particularly in consumer electronics and the telecom/datacom industries. In addition to providing a transparent operating-system environment, Linux developers can use a wide range of publicly existing device drivers. They also can design systems using the latest communications protocols. It's become easier build robust graphical interfaces and supplement existing platforms with technology leveraged from the enterprise Linux domain. On top of that, production licensing is royalty-free.
The best-known commercial supplier of Linux to embedded developers is MontaVista. The Silicon Valley-based company was one of the early pioneers of embedded Linux, and it continues to be the leading supplier based on VDC's industry data.
But pure-play companies like MontaVista Software aren't the only vendors offering Linux. Among the traditional market players that incorporate Linux in their ever-evolving market strategies are Wind River Systems, Enea Embedded Technology, and LynuxWorks. Wind River is perhaps the biggest surprise, since it so heavily invested in its own real-time operating system (RTOS). VDC expects Wind River to challenge MontaVista for the market lead in the very near term.
Increasing adoption of Linux has focused suppliers to address the needs of embedded software developers rather than attack the competition. Even Green Hills Software has addressed the growing use of Linux through its Integrity PC product. It places Linux or another OS in a ?padded cell,? where the company's Integrity RTOS controls access.
Linux isn't the only open-source OS employed in embedded designs. Other widely used open-source OSs include eCos and FreeBSD. Sun released Solaris under the Common Development and Distribution License (CDDL), a modified Mozilla open-source license, last January. Also, National ICT Australia (NICTA) recently released the L4/Iguana open-source OS. While the latter's widespread use isn't ensured, its release and the release of other operating systems under open-source licenses strongly underscore the attractiveness of the licensing model.
The evolving and maturing Eclipse platform has become an effective way to reduce costs in lieu of developing and maintaining a proprietary integrated development environment (IDE) or partnering with third-party proprietary IDE suppliers. Furthermore, Eclipse represents an opportunity for third-party tool plug-ins covering a broader spectrum of the development cycle. Much like the GNU GCC/GDB tool chain before it, more embedded software suppliers are leveraging the Eclipse platform as a way to jumpstart a market ready for tools offering minimal risk and resource drain.
With the release of CDT 3.0, Eclipse's C/C++ development tool, the open-source IDE is even better tuned to the embedded market, where the vast majority of developers use C and many others use C++. But essential improvements remain for Eclipse (and Eclipse-based tools) to achieve the utility of the proprietary IDEs it's replacing. Some traditional embedded vendors pursue those weaknesses with a top-level Eclipse project aimed squarely at embedded development.
Wind River proposed and headed the Device Software Development Platform Project (DSDP), which is supported by vendors such as IBM, Mentor Graphics, MontaVista, QNX, and Timesys. Substantial improvements to Eclipse should be arriving next year for embedded development. So far, two subprojects have garnered most of the focus?target management and device debugging.
The Target Management Project concentrates on data models and frameworks to configure and manage one or more target systems, their connections, and their services. Device Debugging creates frameworks and extensions to the current debug framework to support the three phases of device software development: hardware bring-up, platform software development, and application software development.
The goal is to develop enhanced debug models and application programming interfaces to provide better insight into and control over target systems. A subproject on Mobile Java Tools has been proposed.
There's increasing attention and a clear trend in the embedded market to investigate, contribute, and offer Eclipse-based technology. Yet some market players remain skeptical about the benefits and long-term impact.
While it supports Eclipse, Green Hills Software continues to point out the inadequacies of the tool's framework and the open-source process. The company also maintains that some risks have yet to be addressed to satisfaction, namely the maturity of technology, vendor customization, fragmentation, or forking risks to meet the needs of both the enterprise and embedded segments, and the openness of individual solutions.
These views are similar to those expressed relative to the use of Linux in the embedded market some two to three years ago. While it's not perfect, the Eclipse framework might offer the best environment for higher levels of integration and interoperability with best-in-class technologies.
Other Components And Tools
Database management systems are one of the most widely accepted forms of open-source technology. Database successes such as MySQL, BerkeleyDB (commercial offering from Sleepycat), and db4o (db4objects) show the ability of companies to leverage open-source communities and business models to quickly ramp up interest, innovation, and ultimately unit deployments. Open-source technology also addresses modeling tools, where ArgoUML and Eclipse UML2 are likely the most widely used.
Open-source technology is here to stay in the embedded market. The challenge is for developers to evaluate and test an array of technology offerings from public open-source (kernel.org), commercial open-source (MontaVista, Wind River), and traditional commercial sources (Green Hills) to find the right combination of technical features, service and support, price, and business model. The increasing number and quality of open-source projects offer greater choice, but they complicate the decision-making process.See associated table