Project history
Contents
Prehistory
The first contact with configuration definitions languages happened in the early 2000, when I used eCos in an embedded project. Since the GUI based eCos configuration tools were mainly Windows tools, and at that time I was a hard core command line Unix user, the configuration framework was more of a nuisance than a useful technology.
The situation changed when I started work on the µOS++, a C++ embedded OS. Although the design was influenced by eCos, the eCos CDL was considered too specific to eCos to be useful in other projects, not to mention that the Tcl was already a bit too rusty, even then.
However, after using µOS++ for several years, it became clear that managing large collections of sources without an automated tool is more and more difficult.
December 11th, 2012
After several studies the idea of a Python implementation of a CDL proved feasible, and a rapid prototyping version in Python was implemented.
To give this new project a new home, a SourceForge forge project was created, basically a Git repository and two ticketing systems, one for bugs and one for feature requests, complemented by a Wiki.
January 13th, 2013
After the successful rapid prototyping phase, the SRS wiki page was written, followed by the XCDL Definition Reference for all objects and properties.
This was followed by a more or less exhaustive implementation, and on January 13th the XCDL framework produced the first functional run of a build generated with the configMakefile tool, the conversions test for the Debug class.
April 27th, 2014
In early 2014, ARM released a preliminary version of CMSIS Pack, as a "a delivery mechanism for software components, device parameters, and evaluation board support". Although far from eCos and aiming at different purposes, the CMSIS Pack was considered an important step forward, and discussions with Reinhard Keil, leader of the CMSIS team, were initiated; on April 14th an invitation to join the internal CMSIS Google Group was received.
On April 27th, a branch was created in the GNU ARM Eclipse repository, and work on an Eclipse plug-in to manage XCDL/CMSIS packs was started.
The first goal was to write a plug-in to manage the existing Keil CMSIS packages, to be used as a base for future XCDL specific extensions. The release candidate of the packs manager plug-in was made available for review on June 16th, 2014.
June 23rd, 2014
A more or less complete set of specifications, based on The eCos Component Writer’s Guide, with multiple changes, was put together on this wiki.