Start Migration to Your New DaVinci Project

This section will give you an overview how to migrate your DaVinci Configurator Classic Version 5 projects into newer project structure.

One-Step Project Migration

  1. Open project migration tool and run following command, replacing the placeholder paths with:

    • --dpa-file: The path to the .dpa file of the project to be migrated.

    • --dest-dir: The destination path for the new DaVinci project.

    • --bsw-package: The path to the BSW package to be used.

If the --dest-dir parameter is not specified, the migration tool will use the directory of the DaVinci Configurator Classic Version 5 project (i.e., the location of the .dpa file) as the destination.

It must also not contain any .dvjson files, as these indicate an existing DaVinci Configurator Classic Version 6 project, which would conflict with the migration process.

Only omit the --dest-dir parameter if the original DPA project is no longer needed, as the .dpa file will be deleted after a successful migration.

# project-migration --dpa-file /Path/To/Project/projectname.dpa --dest-dir /Path/To/MigratedProject --bsw-package /Path/To/BSWPackage

When the project migration is started, this message is displayed on the console:

Starting migration...

Several log statements will be displayed to indicate the progress of the migration process. Once the migration is complete, the following message appears in the console:

Finished migration

Resulting Project Directory Structure

In this table, the default folders of a DaVinci Configurator Classic Version 5 project are opposed to the default folders of a DaVinci Configurator Classic Version 6 project with its changed project structure (the paths are relative to the project folder).

Table 1. Overview of the old and new folder structure
CFG5 Default Location CFG6 Default Location Comment

Config/ECUC

Config/EcuConfig

EcuC description files (active EcuC and EcuC splitter files)

Config/ApplicationComponents

Config/AppComponents

application description files

Config/Developer

Config/AppConfig

DaVinci Developer workspace

Config/AUTOSAR

Config/AUTOSAR

standard AUTOSAR files, e.g., platform types

Config/InternalBehavior

Output/Config/InternalBehavior

description files of the internal behavior

Config/McData

Output/Source/McData

generated A2L files

Log

Output/Log

log files

Config/ServiceComponents

Output/Config/ServiceComponents

description files of the service components

Config/System

Config/System

system description files

Config/TimingExtensions

Config/TimingExtensions

timing extension description files

Appl/Source

Output/Source/Templates

generated template files

Appl/GenData

Output/Source/GenData

generated module files

Appl/GenDataVtt

Output/Source/GenDataVtt

generated VTT module files

DefRestrict

Config/DefinitionRestriction

definition restriction files

Config/System

Config/VariantConfig

evaluated variant set files

-

Config/StructuredExtract/BswConfig

structured extract description files

If any project files (e.g., DCF files) contain relative references to directories or files outside the project folder, it is recommended to place the migrated DaVinci Configurator Classic Version 6 project folder at the same hierarchy level as the original. Otherwise, these references must be adjusted manually. Additionally, custom directories (i.e., folders not listed in the first column) need to be copied manually into the new project folder.

Resulting Configuration Files Structure

The direct equivalent to the DPA file is a file with the extension .dvjson in JSON format, the so-called project master file. But in contrast to the DPA file, it does not contain all the configuration entries, but only references to other JSON configuration files. Such a typical project master file will usually look like this:

{
    "arxmlProjectContent": "./Settings/ArxmlProjectContent.json",
    "misc": "./Settings/Misc.json",
    "generator": "./Settings/Generator.json",
    "ifp": "./Settings/Ifp.json",
    "general": "./Settings/General.json",
    "acknowledgements": "./Settings/Acknowledgements.json"
}

Relative paths in all project configuration files are considered relative to the directory that contains that configuration file. The forward slash / is used for file separators, so that the configuration files can be used both on Windows and Linux platforms. The following sections provide some more information about the contents of these configuration files. If there are no corresponding configuration entries in the DPA file, Misc.json, Generator.json and Ifp.json are not created. For all these files, editing support with corresponding JSON schemas is provided. These schema files contain details about all possible configuration entries. Further details about the editing of these configuration are available in the DaVinci Configurator Classic Version 6 documentation.

Content of Setting File ArxmlProjectContent.json

This file contains the configuration entries about all directory and file locations of ARXML files that the DaVinci Configurator Classic Version 6 loads. These entries were located at various sections in the DPA file: <Folders>, <Input>, <References>, <ECUC>, <EcucSplitter> or <Variance>.

Content of Setting File Generator.json

This file contains generator related settings which were located in the <Generators> section of the <ToolSettings> of the DPA file.

Content of Setting File Ifp.json

This file contains settings related to the input file processing: ComControllerMappings and ModuleDefinitionMappings which were located in the <Display> section of the DPA file.

Content of Setting File Misc.json

This file contains other miscellaneous settings which were located in the <Misc> section of the <ToolSettings> of the DPA file.

Content of Setting File General.json

This file contains all other settings from the DPA file that are not located in the other JSON configuration files.

Content of Setting File Acknowledgements.json

This file contains acknowledgements for validation messages which were located in acknowledgements.dc in the root folder of DaVinci Configurator Classic Version 5 projects. This file is not intended for manual editing.

Behind the Scenes of Migration

The process of migrating a DaVinci Configurator Classic Version 5 project consists of three internal steps.

First, the DaVinci Configurator Classic Version 5 project with a DPA file is converted to a DaVinci Configurator Classic Version 6 project with JSON settings files. Files and directories are moved/copied to the locations according to the default locations of the DaVinci Configurator Classic Version 6 project structure, the corresponding configuration entries are also changed accordingly. When this step is completed, the tool displays this on the console:

JSON project created from <dpa file>

Second, the JSON project is loaded in order to create a structured extract from the flat extract data in the project. If structured extract data could be created (from the flat extract model data), an additional ARXML file is created inConfig/StructuredExtract/BswConfig. When this step is completed, the tool displays this on the console:

Migrating flat extract elements finished

In a third step, the functionality of the CLI command derive-ecuc is called. When this step is completed, the tool displays this on the console:

Finished deriving ecuc from ecu extract

The project migration tool does not consider other files in the project folder, that are not referenced by the DPA file.