Last updated February 23, 2011

See the newest version of this demo at:


The Idea

The amount of memory available today for embedded applications is fast increasing. This brings the firmware complexity (code size)
to grow up. Many powerful and open source tools are available today to address this challenge.

The Open Development Environment for embedded application (ODeV) is the next evolution of my previous Eclipse based demo projects.

This project aims to develop a set of Eclipse plug-ins specifically designed to embedded development. I'd like expanding also the list of supported MCUs.

Main Components

  • FreeRTOS.org version 5.2.0 or greater - real time scheduler.
  • OpenOCD trunk 15xx - On-Chip debug solution for embedded target systems.
  • CodeSourcery G++ Lite  2008q3-66 - ARM EABI GCC development tools.
  • Eclipse Ganymede - open development platform (the IDE).
  • Versaloon - hardware interface.

The Challenge

Today I use Eclipse as my default IDE for multitasking embedded application development. I was able to setup it thanks to the work, the support and the tips of some people sharing their know-how and their effort with me. I have chosen to share these result through this web site, and I hope these few bits of code could help other people to discover the power of Eclipse (and FreeRTOS).

For sure, I know that there is much work to do. To setup the environment is not a very user friendly task! Make is a powerful tool, but not all people like to manually edit their Makefile. GDB is well integrated with Eclipse, but when I suspend a debug session I can't walk the call stack of each tasks because I can inspect the running task only. Moreover the MCU peripherals registers are not supported by the registrer view.

Eclipse is, once again, the solution to these problems.

The Eclipse plug-in architecture provides all needed framework to extend the Eclipse features.
This is the challenge behind the ODeV idea. I collect a set of specification (how I wish that Eclipse had for my everyday work?) starting from my experience and the feedback I received about my web site. I'm studying the Eclipse architecture. I'm analyzing a possible architecture to meet the specification. I will develop a set of Eclipse pug-ins.

The Architecture

The following picture shows an high-level overview of the ODeV plug-ins architecture.

The CDT (C/C++ Development Tools) Project provides a fully functional C and C++ IDE for the Eclipse platform. One key feature is the Managed Build System: a set of component (plug-in) that interact to build a project. The MBS architecture is open and extensible. The Managed Build System Extension aims to provide automatic Makefile managment for FreeRTOS based application built using CodeSourcery toolchain. The other component, the Debug and Launch Extension is in charge to provide a better support to debug the application. The MCU Registry is an abstraction of the MCU. It provides the extension points needed to add the support for new MCU, and a discovery service to find all registered supported MCU.

 The Roadmap

Conclusions... or the new beginning?

I introduced the ODeV idea. I hope to start an open source project when it is more material available.
I'm looking for other people or a job oprotunity to work on this idea. If you are interessed, please do not esitate to contact me for more information.

I published a new web site centered on the ODeV Idea: http://web.me.com/stf12/developers/ODeV.html