Specifically for application in deeply embedded systems with very limited memory and computing resources, typically small microcontrollers (e.g. Cortex-M-CPUs) with or without operating system, we provide the software toolkit redBlocks.
It includes the following parts:
redBlocks Component Library
Many requirements, typical for embedded applications (like in-target software update) can be fully satisfied by composing the intensively tested open source redBlocks components. Instead of inventing the wheel over and over again, developers can focus their work on the specific tasks of their software application.
The behavior of all components is widely configurable already at compile time, avoiding any runtime-penalties from the configuration options. The library leverages the potential of the C++ language, but without the overhead as it is generated by many standard libraries (like STL or BOOST), by completely avoiding uncontrolled dynamic memory allocation and omitting the use of exceptions.
With the redBlocks Simulator, any particular target hardware, including its environmental influences may be modelled by graphical configuration and the Python script language. Within this SIL environment, a software application, being integrated either on the development host or an embedded target, can be tested under realistic conditions. Such tests may either be executed manually or completely automated and may thus play an essential role in the verification process of the embedded application.
With the Eclipse based redBlocks Workbench, the application specific software components can be conveniently developed, tested, integrated with the redBlocks components for host simulation and debugged, independent from the target hardware. Part of the redBlocks Workbench is a unit test framework, including code coverage analysis. All redBlocks components have also been tested with this toolkit.