RTEMS with C++

Chris Welch cwelch at neumes.com
Mon Oct 9 19:51:57 UTC 2006

I've used it heavily specifically for code reuse.

I used RTEMS and C++ for a generator controller.  

One example of where I found C++ perfect was for a fault class.  All of the
faults for the system inherit from a common fault object.  Once I had the
basic fault object working, I knew that any problems I was having with a
specific fault was due to specialization.

The basic fault class set up properties such as:

1) Delay before going to monitoring
2) Delay before going active
3) Setting up UI fault signaling
4) Fault reset
5) Alarm reporting

This made adding and maintianing faults in the system trivial.  Very little
code is required for the fault specialization.

This is just one example.  If you code decently, there is very little
overhead involved.  Extremely critical sections can be done in straight C as
you can work back and forth with out any problems. 

We have had significantly fewer bugs with this system then the previous
three that were built using straight C.

Chris Welch, Neumes Consulting, PC and UNIX Solutions
mailto:cwelch at neumes.com (613)797-7831 FAX:(613)838-5602

-----Original Message-----
From: rtems-users-bounces at rtems.org [mailto:rtems-users-bounces at rtems.org]
On Behalf Of Fabrício de Novaes Kucinskis
Sent: Monday, October 09, 2006 1:59 PM
To: RTEMS - Mailing List
Subject: RTEMS with C++

Hello all,

I'd like to know if someone here uses C++ with RTEMS.

What are the advantages? I see just disadvantages, such as the obvious

I don't see a good use for objects instantiated inside only one task (maybe
the encapsulation of the code?), and since the communication between objects
in different tasks should be done through the RTEMS managers, I think
there's no reason to use C++ and OO in a RTEMS application. But I'd like to
be convinced that C++ in RTEMS is something good.

One more question: does the "librtems++" switch link the OO wrappers to the
Thanks in advance,

Fabrício de Novaes Kucinskis - DEA / INPE
Grupo de Supervisão de Bordo - SUBORD
Divisão de Eletrônica Aeroespacial
Instituto Nacional de Pesquisas Espaciais

rtems-users mailing list
rtems-users at rtems.com

More information about the users mailing list