Eclipse plugs-in for real-time development
March 01, 2007
Story
Today, real-time software developers demand an efficient development environment that gives them access to the tools they need in a one-stop-shop fram...
Today, real-time software developers demand an efficient development environment that gives them access to the tools they need in a one-stop-shop framework. Due to its flexible nature and adaptable plug-in capability, Eclipse has become the development environment of choice for these developers.
Today, real-time software developers demand an efficient development environment that gives them access to the tools they need in a one-stop-shop framework. Due to its flexible nature and adaptable plug-in capability, Eclipse has become the development environment of choice for these developers.
Eclipse offers a smart and functional environment for software development and related tasks. As a programming environment, Eclipse provides the essentials and the aesthetic appeal to satisfy most programmers’ needs, including visual shortcuts, dockable windows, navigation techniques, hierarchical views of software objects, and more.
But Eclipse is more than just another Integrated Development Environment (IDE) developers first see upon installation. Eclipse is based on an open source extensible framework into which other software tools can be plugged. Plug-ins can be created by following a standard Eclipse protocol. A common framework makes Eclipse plug-ins relatively easy to develop. Using plug-ins, Eclipse can be extended to include integration with a developer’s favorite tools, including popular configuration management tools, Web development tools, software modeling tools, compiler tools, and even text editors.
Eclipse now offers valuable extensions for real-time developers such as integrations with real-time OS tools, cross compilers, and other real-time tool suites. An example of these extensions is in the Java arena. Eclipse started out as an environment for Java developers working on desktop and enterprise applications, but has now evolved to include support for real-time Java development as well. Tool suites supporting real-time Java developers such Aonix’s PERC can now be plugged into Eclipse. Similarly, the ADT plug-ins from Aonix provide an Eclipse integration for Ada real-time development as shown in Figure 1.
In the past, if Ada vendors, for example, wanted to add support for their tool within an environment, they had to spend a lot of energy to integrate it. Most development environments were difficult and time consuming to integrate with. At best, environments like CDE were easier to integrate with, but vendors were restrictive in platform availability. Also, for the platforms that were available, the customer depended on a relationship between the platform vendor and the tool provider to maintain compatibility with new releases. Eclipse provides a common framework that makes life easier for all.
The Eclipse popularity can be attributed to its powerful built-in features and, most of all, its plug-in capability. Hundreds of vendors and developers are contributing plug-ins, making Eclipse more powerful and usable every day. A myriad of Eclipse plug-ins is now available to satisfy developers’ needs. Plug-ins are often free or available on a subscription basis. As the Eclipse plug-in community grows, the excitement escalates. Useful plug-ins quickly become popular as Eclipse users read ratings from colleagues on the Web.
Real-time developers are also now benefiting from the growing Eclipse environment by leveraging integrations with popular RTOS tools and other needed tool suites for real-time development. Developers can essentially build their own IDE by choosing the tools they use on a daily basis under one integrated environment. Whether the real-time development is in C/C++, Ada, or Java, Eclipse can integrate with the compiler technology and often with the RTOS tools’ control of the target, including downloading, running, debugging, and analyzing target processor activity and state, all from within the Eclipse environment. In the case of PERC, Aonix’s real-time Java tool suite, the Eclipse plug-in includes integration with the PERC Shell for communication with the target board within Eclipse.
Although Eclipse is a powerful tool, it has some downfalls. Eclipse runs on top of a Java Virtual Machine. On the upside, this makes it platform independent, meaning it runs identically on any platform that supports Java. The trade-off to this advantage is that the application is interpreted at runtime, which makes it slower to start up and resource intensive once it’s running. While running Eclipse, developers might find that other large applications may not be able to acquire the resources they need to run simultaneously. Additionally, it is not uncommon to experience noncritical error messages when exiting, relating to problems saving the Eclipse workspace.
Despite these shortcomings, Eclipse has secured its own future by providing an open framework design. The open nature of the Eclipse framework has allowed the plug-in community to flourish, and this plug-in community will in turn work to ensure Eclipse’s continued success. Real-time developers can look forward to this flexible and ever-improving Eclipse development environment well into the future.