6 C/C++ Software Development
The C++ programming language has emerged from the C language and represents an extension and
improvement of C.
All in all C++ is the more modern language which gives a better readability of the code and a much better
protection against side effects (e.g. enums or namespaces instead of often unclear #define instructions).
Assembler and C program parts can be easily combined with C++ code.
Special advantages and reduction of program code is achieved when several instances of an hardware driver
are used - e.g. two UART drivers. A much simpler portability of the developed program code is a further
advantage.
The used Extended Embedded C++ implementation does not allow the following C++ features which you
may know from PC programming, but which does not make sense for embedded Systems, are:
• RTTI
• Exceptions
The libraries needed for the creation of own programs (hardware driver etc.) and a the required utility
programs are supplied with the package.
Hint:
This option is for advanced users and experts. C/C++ software development and
the Realtime Operating System FreeRTOS are not suitable for beginners! However,
in this manual, you will find a step-by-step guide to download and install the
required programs or links on your computer for your operating system.
Basic
knowledge for setting up a development toolchain and the GCC compiler including
their configuration are an advantage.
6.1 Software package for Marvin
The Marvin software package consists of the web interface software, the operating system (FreeRTOS) with
API functions and a library with all hardware drivers, e.g. ADC, Timer, I2C, UART, LED, Keypad and the
virtual display.
For further information and possibilities please read the descriptions/source-code comments of the modules
and the corresponding IC data sheets!
In addition, utility tools are available to support C/C++ programming.
AREXX Engineering & JM³ Engineering
Version: 1.3.1
October 27, 2017
Page: 44