wiki:Developer/Eclipse/Information

Version 1 (modified by Robert, on 11/26/08 at 14:04:45) (diff)

New page: ==Introduction== RTEMS is a free real-time operating system that must compete against commercial closed source offerings that have very impressive looking GUI oriented Development Environm...

RTEMS Eclipse Information

Introduction

RTEMS is a free real-time operating system that must compete against commercial closed source offerings that have very impressive looking GUI oriented Development Environments. The RTEMS Project has spent years honing RTEMS and tuning it to be a competitive run-time and it certainly the technical capabilities to compete. But often RTEMS gets dinged for not having a "pretty face". Projects in this category address that deficiency.

Eclipse is an open source Integrated Development Environment (IDE) which has become very popular in the real-time embedded systems community. For RTEMS to continue to compare favorably against its commercial proprietary competition, Eclipse support is an important feature. Eclipse has a plug-in architecture and there are already multiple plug-ins and add-ons for embedded development.

This is a very open ended project which has a number of steps based upon subprojects or plugins which need to be made available to RTEMS developers.

See http://www.eclipse.org/home/categories/embedded_device.php as a reference.

Since RTEMS has multiple targets, this project would focus on getting Eclipse working nicely with multiple targets. There are over half a dozen simulators which are capable of supporting a multithreaded RTEMS application and a few of those simulate target hardware with networking capabilities. There are existing RTEMS BSPs that run on simulators so the person(s) working on this project would not require special target hardware or anything that costs to verify that their implementation works with multiple hardware configurations.

RTEMS Eclipse Plug-in Project

Initial Implementation

The publish of initial implementation of RTEMS Eclipse Plug-in came with some accidents. It's Joel Sherrill who first discovered the appearance of such implementation. One night the initial implementer was uploading screen shots to the wiki site to document the usage of the plug-in, there were problems with uploading files, and later the wiki site became inaccessible. The implementer thought he might bring down the wiki site, so went to sleep. On the next morning, somehow these accidents alerted Joel. Except images of Eclipse with RTEMS awareness, he could not find the email address of the "culprit", thus he yelled out on the mailing list, and so came the plug-in implementation. Daron Chabot and Sebastian Huber immediately joined to further develop it.

The initial plug-in has most features of a full-fledged Eclipse/CDT IDE with ordinary GNU tool chain. After setup, except typing in project name and post build commands, with only mouse clicks, it can finish the whole process of:

  • Generate skeleton code
  • Compile
  • Link
  • Generate boot image and externally start up the system (in simulator)
  • Setup break points, and hook GDB to the remote target

The detail document for the initial implementation including its limitations can be found here: RTEMS Eclipse Plug-in.

Revision History

  • 11/23/2008: Daron Chabot made it work on Mac and Linux.

Goals

# Make initial implementation work on one host platform (Status: Done) # Make it work on more host platforms (Status: almost done, it's working on Windows, Mac and Linux) # Instead of getting configuration parameters via environment variables, try to retrieve such information from configuration files of RTEMS BSP installation. (Status: Daron and Sebastian are working on it.) # Get feedback from RTEMS community for further improvements (Status: ongoing)