C-Code

Automotive embedded software is commonly implemented in C programming language. C is a general-purpose programming language and one of the most widely used programming languages for embedded software development. It has been standardized by ANSI since 1989 (ANSI C) and by the International Organization for Standardization (ISO).

This tutorial shows how to generate an EHANDBOOK Container directly from C code. You will learn how to configure the required input files, generate interactive visualizations from C code, and add additional documentation to build a complete EHANDBOOK Container.

Model-based software development (MBSD)

Model-based software development (MBSD) is an approach where embedded software is developed using graphical or textual models. These models can be used for simulation, testing, validation, verification, and automatic code generation. Common MBSD tools in the automotive industry include ETAS ASCET and Simulink/Stateflow from MathWorks.

Although MBSD is widely used, many automotive projects still contain manually written C code. In such cases, there may be no graphical model available to help developers understand the software implementation.

Many engineers find it easier to understand a graphical representation than reading large amounts of source code.

A picture is worth a thousand words.

EHANDBOOK support for ANSI C-Code

EHANDBOOK Container-Build supports generating interactive visualizations directly from ANSI C code.

With EHANDBOOK, you can:

  • Generate interactive graphical views from C code without creating a model manually.

  • Understand the data flow and control flow of the software implementation.

  • Trace signal flow and explore the software structure more easily.

  • Add screenshots and textual documentation to create a complete EHANDBOOK Container.

The following example shows a simple C function and the graphical visualization generated from it.

int a;
int b;

int result;

void calc() {
    result = a + b;
}
Graphical visualization derived from C-code

Graphical visualization derived from C-code