Towards an integrated "Eclipse for Embedded" Package
With commercial vendors, Eclipse has become a de-facto standard for integrated tooling for embedded software development. Much of these commercial solutions is bsed on the DSDP projects. But while the DSDP projects provide an impressive collection of features, it's hard to assemble them to a complete, working environment.
A single, integrated Open Source package for device software development built on top of the DSDP projects is still missing. What's holding us off from creating a DSDP package similar to what the EPP Project already provides for Java Devleopment, C/C++ Development, JEE Development and Reporting?
We've had a discussion about this with lots of people from the Community at the EclipseCon 2008 DSDP BoF Session, and some of the more interesting results of this discussion were:
What is the target audience?
- Everybody dealing with embedded technology, who doesn't want or cannot purchase a commercial solution:
- Silicon vendors who'd like to give access to their stuff for free
- Students - getting them acquainted with embedded technology easily
- Embedded Runtime Component vendors - who need an embedded host and tooling for their specific components to run, demo and evaluate on
What should be in an Eclipse for Embedded Package?
- Embedded Development can be separated in two, mostly mutually exclusive, areas and some generaly interesting related technology:
- Embedded Java - MTJ, eRCP, Equinox, Eclipse Runtime Project
- Embedded Native (C/C++) - CDT, Target Management, Device Debugging, NAB, TmL, RTSC, VPP, Orbit projects
- Related Technology
- Modeling - An increasing amount of embedded software is created with the help of Modeling tools like OpenArchitectureWare, UML, State Machines etc
- General editing support like Columns4Eclipse, see also bug 19771
- Emulations like QEMU, VirtualBox, VMWare, XEN and the like. TmL is working on a framework for these.
- Networking emulations, middleware and the like -- again, TmL is investigating end-to-end simulation solutions.
- Multicore and connectivity - the Target Management project and especially the TCF Component are targeting these
- System-on-a-chip, ESD Level simulation - the VPP project proposal is targeting these
- Embedded tooling typically needs to be highly configurable -- different configurations based on desired target architecture and runtime components. We'd ultimately need an installer that can select and download the desired stuff only, packed in a nice UI. Could P2 be an option?
Licensing and Distribution Questions
- Embedded Development needs compilers and debuggers, which are typically in Open Source under GPL. The licensing incompatibility with the EPL forbids a single package like EPP hosted from Eclipse.org -- what are the alternatives?
Who is interested or could help out?
- Silicon vendors: might even give away simple hardware boards for free, because they are interested in drawing people to their technology
- Software, component vendors
- Sign up your name here:
- Martin Oberhuber, Wind River
- Doug Gaff, Wind River
How could we make it happen?
- A concrete plan should start with two simple self-contained packages:
- DSDP for Java package - MTJ, eRCP and related stuff, probably Android as Emulator
- DSDP for Native package - CDT, TM, DD, NAB, TML, QEMU, gcc, gdb - preconfigured for one specific target platform that comes pre-installed in QEMU
- From that point on, we can gather more Community and work on more configurable packages or improved installers
- Summer 2008 - Gather Community, Clarify requirements, work on first steps
- Fall 2008 - Have a first package available (likely on Sourceforge)
Other open questions
- How is Android related?