Most of these pages are dedicated to the development of microcontroller software and systems. These systems are also called "embedded systems" or "realtime systems". The expression "embedded systems" means that the CPU is embedded in an own hardware dedicated to the application. These are also called "control units". The hardware contains all necessary components to constitute a system, such as the power supply, the input circuits and output circuits. The CPU usually can not be accessed and controlled from outside. The software is "burned" into the system and either not replacable at all, or only replacable by special tools. The expression "realtime system" stands for applications which react immediately on external events. This is in contrast to the traditional computing applications which can run batch jobs and work on data without the need to react on external events and without strict timing requirements.
Microcontroller applications can have a wide variety of size. There are very small systems using e.g. PIC10 microcontrollers. This is very popular and you find a lot of valueable literature and examples. There are a lot of hobby applications and student projects, because the systems are cheap and easy to use. But there is the range of controllers used for medium size or large applications with 16 bit or 32 bit CPUs. Even in this case resources are usually very limited and suffer from runtime, RAM and ROM contraints. This often leads to quality problems originating among others from bad design and insufficient testing. These pages will be especially helpful in this area of microcontroller development.
Since a number of years the topic of "Functional Safety" became the center of awareness in the automotice industry and other industries. No matter if systems and software have to be developed according to ISO 26262 or IEC 61508 you will find that our approach to develop and test software will seamlessly match the requirements of these standards.
On these pages we want to publish an outline of the knowledge and expertise which we accumulated in almost 40 years of work with computers and microcontroller software. The school book methods for SW processes, design and testing usually can not be applied because the microcontroller world is different than the world of the rest of the SW community. But we always managed to find a satisfying solution which is shared here. Please observe also our training site which offers a variety of resources and training concerning the subject.