Import Files to Your DaVinci Project
Learn how to convert your system description to an ECU Extract in a DaVinci Configurator-compatible format and import it in your project.
If no system description or ECU Extract is available, skip this step and continue Create ECU Configuration.
Allowed Input File Formats
| Format | Name |
|---|---|
arxml |
AUTOSAR XML Format |
dbc |
Database CAN |
ldf |
LIN Description File |
fibex |
Field Bus Exchange Format |
vsde |
Vector System Description Extension |
An invariant ECU extract contains no variation points. It is already fully resolved, meaning all configuration decisions have been applied and the extract represents a specific, fixed ECU setup.
Unlike variant ECU extracts, an invariant extract does not require an EVS. It can be used directly with EcuC Derive, as it already reflects a complete and unambiguous configuration.
To generate an invariant ECU extract follow the steps below to create the extract correctly.
-
Navigate into installation path of the DaVinci Configurator Classic into the folder EcuXPro. By adding all files and the output folder which shall contain the generated ECU Extract to be generated later, you will be provided as a result of this command a suggestion of commands. If legacy files are input as well, then you need to install the Legacy Converter tool, or you will have to provide its path using the option -c. Depending on the shell type you want, you must specify the output format you want, using the option --output-format. Currently, you can choose between shell_cmd (for Windows Command Line) and shell_bash (for Linux Shell Bash). Setting a value for the option save-script will save the generated commands into a script file instead of printing them to the console." Below is an example command structure:
Analyze Commandecuxpro analyze -f file1.arxml,file2.arxml,file3.ldf,file4.arxml,file5.dbc -o="Path\To\Generated\Ecu\Extract" -c="Path\To\Legacy\Converter" --output-format=shell_cmd --save-script="Path\To\Save\ScriptFile.bat"
|
The input file order is relevant, because a strict order of processing is applied to the files in case of the merge command, which is suggested as a result of the analysis of several input files. So changing the order of input files might change the result of the merge. Only for legacy communication files that might be used grouped together with several DBC, LDF, FIBEX files, we would assume for the converted ARXML the file order of the first legacy communication file in the list. |
-
The result of this command will be a script file containing a set of ready-to-run commands that you can use to generate your ECU extract. Before running the script, you might need to set some variables in the script file, especially the ECU Instance Names.
-
If you haven’t provided the option --save-script, then you have to copy suggested ready-to-run commands in the console output to generate an ECU Extract out of your input files. In this case, paste the ready-to-use commands from the console into your terminal or build task script and execute it to generate your ECU extract.
Ready-to-use Commandsecuxpro merge -i="D:\DEV\Workspaces\VectorDemo\Input\OEMInput\Preprocessing\EthernetCluster.arxml" -i="D:\DEV\Workspaces\VectorDemo\Input\OEMInput\Preprocessing\DiagnosticData.arxml" -i="D:\DEV\Workspaces\VectorDemo\Input\OEMInput\Preprocessing\MyECU_LdCom_PW_Transformer.arxml" D:\DEV\Workspaces\MyProject\InvariantMerged.arxml
In both cases, the result is a generated ECU Extract which is now available in the specified output folder.
How does the input file order affect the suggested merge command result?
Considering the above Analyze Command example, the suggested merge command would look like this:
ecuxpro merge -i="file1.arxml" -i="file2.arxml" -i="file3.ldf" -i="file4.arxml" "Path\To\Generated\Ecu\Extract\InvariantMerged.arxml"
This means that the first ARXML file is considered as the base file, and the elements of the following files are merged into these base elements. Also, all legacy communication files are converted together and merged into the first legacy communication file in the list, which in turn is merged into the first ARXML file in the list. If the first legacy communication file is the first file in the list, then the converted ARXML of this legacy communication file is considered as the base file for the merge of all other files. Therefore, changing the order of input files might change the result of the merge, as there are four special elements which are allowed to exist only once in an ECU Extract model:
-
System
-
ECU-Instance
-
Root-Sw-Component-Prototype
-
Composition-Sw-Component-Type
Import ECU Extract in Your DaVinci Project
The DaVinci Configurator Classic works on ECU Configuration therfore the ECU Extract must be derived to an ECU Configuration. The BSW context is used to derive and pre configurations will be set.
If no ECU extract available continue with Configure Davinci Project.
-
Navigate into DaVinci Configurator installation.
-
Execute command derive-ecuc. Add path of project file, your BSW and the ECU extract which shall be derived.
# dvcfg-b project derive-ecuc -p="/Path/To/Your/Project" -b="/Path/To/Your/BSW" ecu-extract -
The command line will display a successful after ECU is derived. In your /Output/Config/EcuConfig an ecuc.Initial.arxml and in /Output/Config/EcuExtract an EcuExtract.arxml will be created.
-
For applying all changes and fixing model inconsistency after deriving an ECU extract it is recommended to update your project. Execute project update for your created and enriched project.
# dvcfg-b project update -p="/Path/To/Your/Project" -b="/Path/To/Your/BSW" -acrThe ECU configuration will now be updated, automatic correction of unresolved or inconsistent references will be resolved, RTE configuration changes and input file changes.
Activate BSW Modules
During the project update several BSW modules are derived depending on the configuration provided by ECU Extract. Not all required BSW modules can be derived out of the input files so to get a working BSW stack other modules have to be activated and have to be actvated manually.
-
Open the DaVinci Configurator Classic CLI in your terminal and run the following command to activate all modules.
# dvcfg-b project activate-rec-modules -p="/Path/To/DaVinci/Project" -b="/Path/To/BSW/Package"