In gmane.os.ecos.general, you wrote:
My initial impressions were that the coding style in eCos was
rather old fashioned.
Are you referring to the coding style (i.e. indentation,
variable names, etc.) or the actual architecture and design?
We are probably both used to the amazing things that can be
done with STL, boost, template metaprogramming etc. However I
realise that many of these libraries and techniques are not
appropriate for embedded programming.
Depends on the system.
On the other hand it is possible that some modern C++
techniques could be useful in this context.
Like what?
Since eCos is the only RTOS kernel i know of written in C++, it
would appear it's leading the pack in using "some modern C++
techniques. I'm no C++ expert, but the design and
implimentation of the eCos kernel looked pretty nifty what with
those objects and classes and whatnot.
Most of the drivers, OTOH, are pretty much what drivers always
are: nasty low-level C code.
Embedded systems development is just plain hard compared to
many other sorts of SW development. It requires a lot of
knowlege about the platform hardware, the tools, and the
problem domain. There is no silver bullet.
Currently I do not have enough experience of embedded
programming to give an opinion.
Could you provide an example of how some part of eCos could be
improved using a specific design pattern. This could form the
basis of a more focused discussion of the benefits of what you
are proposing. If your ideas are practical and would genuinely
make eCos more easily configured then I am certain that the
eCos maintainers would be very happy to help you incorporate
them.
I'm certain they would.