Main Content

Build Out of the Box Linux Executable from AUTOSAR Adaptive Model

As part of generating code for an AUTOSAR adaptive model, you can generate a CMakeLists.txt file for building a Linux® standalone executable. Then, on a Linux system, you can build the executable and run the resulting executable on Linux as a standalone application.

If the applications have matching DDS deployment artifacts, they can communicate with each other. Building the executable files from CMakeLists.txt requires running CMake software on a Linux system.

Note

Executable generation from an AUTOSAR adaptive model is supported only on the Linux platform.

To build a Linux standalone executable:

  1. Open a component model that you have configured for the AUTOSAR adaptive target (autosar_adaptive.tlc).

  2. In the Configuration Parameters dialog box, select Code Generation > Build process > Toolchain settings. Set Toolchain to AUTOSAR Adaptive Linux Executable. The toolchain selection adds ARA functional cluster libraries provided by MathWorks®.

    Configuration Parameters dialog box, Code Generation pane, with the System target file set to autosar_adaptive.tlc and the Toolchain set to AUTOSAR Adaptive Linux Executable.

    Note

    The AUTOSAR Adaptive Linux Executable toolchain is supported only if the Embedded Coder® Support Package for Linux Applications is installed. For more information, see Support Package Installation (Embedded Coder).

  3. Build the model. The build generates C++ code, ARXML files, and a CMakeLists.txt file.

  4. In the model build folder, open CMakeLists.txt and verify that it is configured for executable generation. For example, make sure that:

    1. The CMakeLists.txt file contains add_executable(modelName …).

    2. The specifications for target_include_directories, target_link_libraries, and link_directories include the values specified in Toolchain settings.

  5. Verify the DDS deployment artifacts DDS Topic Name and DDS Domain ID from the generated ServiceInstanceManifest.arxml file.

    Clear and re-create the mapping for the model with existing mappings (models created by using a MATLAB® version prior to 22a), to have DDS binding as default. Otherwise, the model continues using user-defined bindings. To re-create the mapping, use this command:

    autosar.api.create(<modelName>,'default');

  6. Get the support package root directory path using the below command in MATLAB:

    path = matlabshared.supportpkg.getSupportPackageRoot
    Copy the path to use it in the next step.

  7. On a Linux system, outside MATLAB, go to the model build folder. To build the executable file, enter these commands:

    cmake -DSPKG_ROOT=<path from step 6> CMakeLists.txt;
    make all;

The make generates an executable file for the adaptive model one level above the model build folder. You can run the executable on Linux as a standalone application.

Adaptive applications having event deployment artifacts with the same TOPIC-NAME and DOMAIN-ID can communicate with each other.

Related Topics