Time to Read 3 min
In embedded development this dilemma is encountered very often. Software development, especially user interface development must start, but:
Instead of loosing a lot of time while waiting for the real world, electronics and mechanics can be simulated on a PC. In ASIC design, the approach is known as virtual platform.
Solcept has developed a framework based on .NET/ C#/ managed C++. It can be used to simulate the operating system, drivers, hardware (down to the controller registers) and the underlying physics of the machine to be controlled on which the application is based.
The simulation is as accurate as needed and as simple as possible. This means the e.g. physical processes which are strongly influencing a controller design are modeled accurately. Other elements, e.g valves are simulated digitally (pass/ no pass).
The following results were achieved in several projects using simulation:
The development engineers form a better understanding of the machine to be controlled, respectively its physics. In implementation and debugging PC development systems can be used which still offer more possibilities than most embedded tools.
A well programed simulator allows to extract logs, call chains and offers other functions like alterable execution speed to complete stop at any point. Together with complete reproducibility, which is seldom in the real world, embedded systems can be developed very efficiently.
During user interface development, all stakeholders can be brought on board at an early stage, since everyone can "play" with the graphical user interface (GUI) on their PC, but also with other elements such as buttons, indicator lamps and sounds.
Error conditions which are difficult or impossible (e.g. due to possible hazards) to create on a real machine, can be generated easily during tests. In addition automated tests can be conducted without modifications (e.g. test access ports, user interface exercising robots) of the target system, because it is simulated.
The supposed big disadvantage of course is the increased effort. According to our experience it is paid back over the duration of the project when more than three software test cycles are needed.
Alois Cavelti
Do you have additional questions? Do you have feedback or improvements? If so, email me or comment your thoughts below!
is Dipl. Elektroingenieur FH , co-founder, deputy managing director and software developer. He is a specialist for architectures and software in C, C++ and C#. He is committed to maintainable architecture, security and clean code. For this he likes to look beyond the "embedded" edge of his nose into other areas of software development. He is interested in overall systems of any kind and their interrelationships. Alois manages a 5'000 m2 biodiversity island and brings nature, horses and humans in harmony. He loves good (movie) stories and good food.
Projects? Ideas? Questions? Let's do a free initial workshop!
No Comments