Autor:innen:
Benjamin Schatz | ZF Friedrichshafen AG | Germany
Rudi Dienstbeck | Lauterbach GmbH | Germany
Sprache:
Englisch
Zielgruppe:
Developers in the automotive industry
Voraussetzungen:
Knowledge of embedded system design
Überblick und Zusammenfassungen:
ZF, headquartered in Friedrichshafen, Germany, is one of the most important suppliers to the automotive industry with 160,000 employees worldwide. The company designs vehicles of the future at all relevant levels: from sustainability, electromobility, automated and autonomous driving, software and digitalization to vehicle motion control. The product range also includes automotive control units (ECUs), which are supplied to all well-known car manufacturers.
When developing an embedded application such as an ECU, not only is error-free software essential, but understanding the runtime behaviour of the application is also crucial for optimizing resource usage and performance and ultimately for meeting all safety requirements. To this end, appropriate tools are used to measure execution times and check timing requirements. To do this, the user must record hardware events at a low level using traces and process the trace data into system events at an abstracted level, which is known as profiling. Together with Lauterbach, ZF's longtime partner for debug and trace tools, timing analyses for automotive ECUs could be shifted from real hardware to virtual targets.
The project objective was to be able to run the tests completely automatically on a server, 24 hours a day, 365 days a year. On the one hand, a real target is no longer required, and on the other hand, automated nightly tests can be carried out on the CI server with equally automated requirement analysis. This means that every software change is automatically and immediately checked for timing behavior.
The current trend in the automotive industry is clearly towards the consolidation of several applications on one ECU. This makes it all the more important to constantly check during the development process whether the ECU is still able to cope with the load or whether the time specifications can no longer be met. In the past, in the age of "simple" single-core CPUs with in-order instruction execution, there were mathematical methods with which the runtime of individual functions could be easily calculated. Today, in the age of multi-core SoCs, multi-level cache architectures and out-of-order instruction execution, this no longer works. The only thing that really helps here is concrete measurement. This successful project at ZF should therefore set a precedent in a similar form throughout the automotive industry.
In this joint presentation by ZF and Lauterbach, the project will be described in detail, including all the challenges and ways to overcome them, as well as the concrete benefits that resulted for ZF in the end.
Art der Vermittlung:
Presentation of a concrete project example
Nutzen:
The detailed presentation of the specific project process, including all challenges and their solutions, enables other automotive developers to benefit from this experience and avoid pitfalls. This will save them time, money and setbacks in their projects.