Eclipse Takes a Stand for Embedded Systems Developers

By Cheryl Ajluni

Engineering, at every level these days, has become more complex. Managing that growing complexity in a way that lets the designer/developer create leading- edge solutions while meeting ever stringent time-to-market cycles and cost budgets has been an ongoing challenge. The emergence of automated electronic design tools (EDA) has effectively dealt with this issue from a distinctly hardware perspective. Unfortunately, the same can not be said for the software side of the industry. Here, embedded software development tool vendors have traditionally offered proprietary Integrated Development Environments (IDEs) linked to specific real time operating systems (RTOSs) or architectures. As a result, software developers have been forced to learn many different IDEs and tool paradigms to support the variety of projects on which they work.

Now though, that “traditional” approach to software development is taking on a new form thanks to a little something called Eclipse. Interestingly, this new approach has a leg up on its more hardware-centric counterpart. Not only does it provide a user consistent interface, which means that software developers only have to learn one IDE and one tools paradigm, but it also sports royalty-free licensing. Embedded developers can now use multiple RTOS offerings across multiple processor architectures without having to change, purchase or learn a new tools environment. And, they can develop their own proprietary tools that plug into the Eclipse environment without the fear that they will become open source and up for grabs by the competition.

In other words, Eclipse offers today’s embedded systems developers something that the more mature, hardware-centric EDA community has failed to provide; an independent vendor-neutral, open development platform and applications framework for building software. For the software developer that equates to a whole slew of benefits including freedom of choice in a multi-language, multi-platform environment, increased productivity and the opportunity for true interoperability between tools offered by different vendors.

Understanding Eclipse
What exactly is Eclipse and how does it make all of these benefits a reality for today’s embedded systems developer? Eclipse was born out of an act by IBM in 2001. It was in this year that the company released its Eclipse Platform into open source. Following this move, a number of industry leaders from Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft and Webgain joined together to form the initial Eclipse.org Board of Stewards. By the end of 2003, the group had grown to over 80 members. Shortly thereafter, Eclipse.org was reorganized into a non-profit, independent organization.

Today, the Eclipse Foundation represents a large ecosystem of major technology vendors, innovative start-ups, universities and research institutions, and individuals working to extend, complement and support the Eclipse Platform. It provides extensible tools and frameworks that span the software development lifecycle, including support for modeling, language development environments for Java, C/C++ and others, testing and performance, business intelligence, rich client applications and embedded development. The mission of the Eclipse Foundation remains focused on one thing; to drive the evolution of the Eclipse Platform to benefit the providers of software development offerings and end-users.

Written in the Java language, the Eclipse Platform comes with extensive plug-in construction toolkits and examples. Its plug-in based framework makes it easier to create, integrate and utilize software tools (see the Figure). Plug-ins can be obtained either from the www.eclipse.org open-source or through commercial vendors. They can also be written by the user. To date, the Eclipse Platform has been deployed on a range of development workstations that include: Linux, HP-UX, AIX, Solaris, QNX, Mac OS X and Windows based systems.

All Eclipse Platform technology, source code and use are made available via the Eclipse Public License. This license allows individuals to create derivative works with worldwide re-distribution rights that are royalty free. As a result, tool developers are free to keep their proprietary software and technology out of the open-source community; despite the fact that it may have been developed using the Eclipse Platform. Also, commercial tool vendors can now develop and market their core technology competence, while using an open and interoperable architecture.

Future Prospects
One of the primary reasons the Eclipse Platform is rapidly gaining ground as the platform of choice for embedded systems development tools is its ability to provide a common user interface. Its extendibility is also a plus as it means that embedded systems developers can easily create their own specialized development tools and then quickly integrate and deploy them within an embedded systems project team.

Another reason for the appeal of Eclipse in the embedded world is its potential for true interoperability between tools. Interoperability has been a lofty goal for some time; one that tool users have continued to demand and vendors have continued to fight in an effort to maintain what they view as a competitive advantage. For many, Eclipse offers hope that this deadlock may soon be coming to an end.

To further build on its growing momentum with OEMs and vendors of RTOSs, and software development and EDA tools, Eclipse has recently launched a series of new project initiatives and releases for the Device Software Development Platform (DSDP) and C/C++ Development Tools (CDT) Projects. They include the:
  • CDT Project – The newest version of the CDT Project - release 3.1 - focuses on supporting large C/C++ projects, as well as integration with a more diverse collection of build and debug tools. An indexer architecture makes it easier to search and cross-reference C/C++ code, while expanded debugger support handles different variants of gdb/MI protocols. Available in June, CDT 3.1’s managed build system will also be updated to support a larger diversity of tool chains, offer greater flexibility of build options and improve CDT’s knowledge of the build process.
  • Mobile Tools for the Java Platform (MTJ) Project – Proposed and led by Nokia, this project provides frameworks for runtime management of devices and emulators, build management and deployment of J2ME applications, mobile device debugging, application creation wizards, UI design tools, localization, and mobile security extensions. It is scheduled for release in June.
  • Native Application Builder (NAB) Project – This project, proposed and led by Fujitsu, provides a visual GUI builder and graphics runtime libraries for device applications running on Linux, Windows CE, ITRON and other device operating systems. It generates C++ source code and uses CDT for the edit-compile-debug cycle where applicable for the device operating system. It will be released in June.
  • The Device Debugging (DD) Project – DD provides enhanced debug models, APIs and views which enable greater visibility into, and control over, device software targets. It is scheduled for a June release.
  • The Target Management (TM) Project – TM features data models and frameworks to configure and manage remote systems as well as their connections and services. Based on Remote Systems Explorer software from IBM, it will include remote target launch capabilities compatible with CDT and is scheduled for release in September.
The Bottom Line
Over the past few years, the Eclipse Platform has worked its way into the consciousness of the software development tool vendor community, as well as that of the software developer. These days, that influence is being taken one step further as the platform, via projects like CDT, quickly become the industry standard for C and C++ development in the embedded world. Today it is being used by commercial vendors for a range of embedded applications including miniature embedded microcontrollers and large multi-core targets. It also provides the foundation for at least 17 commercially available development tools from companies like QNX Software Systems, Intel, Nokia, Texas Instruments and Siemens. That number is sure to increase as word continues to spread about Eclipse and its benefits.

Cheryl Ajluni is the owner of Custom Media Solutions, specializing in technology-based content for publications and tradeshows. She has over 10 years experience covering the high-tech industry for such publications as Electronic Design and Embedded Systems Development. Ajluni served as Editor-in-Chief of Wireless Systems Design. She has also worked in various engineering roles and holds a patent for the development of a solar cell detection system. Ajluni has a Bachelor of Science degree in physics and mathematics from the University of California, Davis.