Import Diagnostic Modules

Modules are configurable units, or "building blocks", which you add to an ECU project to provide services or drivers. The tool provides the possibility to import already configured Diagnostic Modules (Dcm, Dem, etc.) into an ECU Configuration. These modules are generated by the Diagnostic Data Modifier (DDM) which produces an ECUC in the ARXML format.

What Is a Diagnotic Module?

A diagnostic module is a module, which is part of the Basic Software and implements the diagnostics part according to ISO standards. Together with other transport modules, they ensure reliable diagnostic communication and event handling in ECUs.

How to Get a Diagnostic Module to import?

The ARXML file containing the diagnostic modules to be imported is generated exclusively by the DDM, see How to Create a DDM Extract. This command does not call the DDM tool. Therefore, you must provide a pre-generated DDM ECUC file in ARXML format.

Please use only a file generated by the DDM tool to ensure compatibility and correctness, as the import might not end successfully otherwise.

How to Import the Diagnostic Modules?

This section provides step-by-step guidance to help you efficiently import a diagnostic module into your DaVinci Project

  1. There are two ways of importing a diagnostic module into your project:

    1. Below is an example of how the command to be used within a Post-Build variant project could look like. It can be used after opening DaVinci Configurator Classic in your terminal, replacing the paths and the variant names with your own values. The option -f allows you to specifiy as many file sets as there are Post-Build variants in the project. Please note that a file set must be specified for each Post-Build variant defined in the project (specified by the project Evaluated Variant Set). You can define more than one file for each variant (file set) by separating the input files paths with a comma.

      $ dvcfg-b import diagnostic-modules ^
      -b "/Path/To/BSW/Package" ^
      -p "/Path/To/Project/Dvjson" ^
      -f VariantName1="/Path/To/DiagnosticModule/For/VariantName1" ^
      -f VariantName2="/Path/To/DiagnosticModule/For/VariantName2"
    2. For an invariant project, the following command is an example which can be used after opening DaVinci Configurator Classic in your terminal, replacing the paths with your own values: Please note that in this case, no variant name has to be specified for the option -f and exactly one file set must be provided.

      $ dvcfg-b import diagnostic-modules ^
      -b "/Path/To/BSW/Package" ^
      -p "/Path/To/Project/Dvjson" ^
      -f "/Path/To/DiagnosticModule,/Path/To/Other/DiagnosticModule"
  2. The modules will be imported and loaded into the model automatically. Once this is done, you will see a status message confirming successful creation and telling how many modules have been imported:

    Importing                                   SUCCESSFUL
    <Amount of modules> modules were successfully imported

How to Verify the Import?

A successful import ends with the mention of the amount of diagnostic modules imported. This information is displayed in the CLI logs. The imported modules are saved at the location ./%ProjectLocation%/Output/Config/EcuConfig and are then visible in the configuration.