Update BSW Package

After installing a new BSW Package (for example, after a BSW Package update), DaVinci Configurator Classic Version 6 shows a BSW Package Mismatch dialog and opens your DaVinci Project read-only, because the BSW Package identity recorded in the project no longer matches the installed BSW Package.

The dialog offers two options:

  • Load Read-Only to inspect the project. Editing and saving stay disabled.

  • Close the project so you can run the update.

Neither option performs the update. The update itself must run while your DaVinci Project is closed, because the deleted generated data are restored and other workflow steps run (see Behind the Scenes).

Prerequisites

Updating the BSW Package of your DaVinci Project requires the setup of:

License

Installation

Input

  • DaVinci Configurator Classic Version 6 DaVinci Project

  • New BSW Package

Updating Your BSW Package

  1. Create the input template that maps your existing BSW modules and use cases onto the new BSW Package:

    $ dvcfg-b bsw-update create-template -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW"

    This creates two files in the Output/BswUpdate directory of your DaVinci Project:

    • BswUpdate.template.json, the file you edit in the next step.

    • BswUpdate.schema.json, the schema that validates it.

  2. Open BswUpdate.template.json and fill in the module mappings and use-case mappings.

    The accompanying BswUpdate.schema.json describes the allowed content, so a JSON-aware editor validates your entries as you type.

  3. Run the update.
    Keep your DaVinci Project closed while this command runs, because it deletes derived data:

    $ dvcfg-b bsw-update execute -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW" --input-file="/Path/To/Your/Project/Output/BswUpdate/BswUpdate.template.json"

    On success, the command prints a confirmation message.

  4. Regenerate the derived ECU configuration for the new BSW Package (see Derive ECU Extract for details on this command):

    $ dvcfg-b project derive-ecuc -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW" <ecu-extract>,<optional-evs>

    Add your evaluated variant set as a second input if your DaVinci Project uses variants.

  5. Import the diagnostic ECU configuration again (conditional step).

    Only required if your DaVinci Project uses a transformed diagnostic ECU configuration file from a legacy diagnostic file (.cdd, .pdx, .odx). To check if this applies, open Settings/ArxmlProjectContent.json in your project and look for the entry content.ifp.diagnosticEcuc. If a diagnostic configuration comes through an AUTOSAR Diagnostic Extract instead, step 4 already rebuilt it and this step does not apply.

    $ dvcfg-b import diagnostic-modules -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW" -f <ddm-ecuc.arxml>

    For an invariant project, pass exactly one file set. For a variant project, pass one file set per post-build variant defined in the project’s Evaluated Variant Set, for example -f VariantName1="…​" -f VariantName2="…​". Multiple files in one file set are separated by commas. The imported modules are written to Output/Config/EcuConfig.

    Use ARXML files produced by the Diagnostic Data Modifier (DDM), which carry a DDM marker. If you still have the ARXML from your last import, use that file and skip any conversion steps.

  6. Merge the System definitions (conditional step).

    Only required if step 4 or step 5 reports:

    [FatalError] Found more than 1 System with RootSwCompositionPrototypes

    This happens when your project model already contains a System definition and the ECU Extract contains a different one.

    $ dvcfg-b project system-cleanup -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW"

    Run this after project derive-ecuc and before project update.

  7. Activate modules that are new in the BSW Package (optional step).

    Run this command only if the new BSW Package brings modules that your DaVinci Project does not have activated yet.

    $ dvcfg-b project activate-rec-modules -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW"

    This activates the configurations for all module clusters present in your DaVinci Project.

  8. Update your DaVinci Project to apply the newly derived changes:

    $ dvcfg-b project update -p="/Path/To/Your/ProjectFile" -b="/Path/To/Your/New/BSW"

    With no flags, this command runs all steps: automatic reference correction, applying the newly derived changes, run-time environment configuration update, evaluated variant set changes, and solving actions. You can pick individual steps with flags if you only need some of them:

    • -a: Automatic reference correction

    • -c: Apply newly derived changes

    • -r: Run-time environment configuration update

    • -e: Evaluated variant set changes

    • -s: Solving actions

      Open your DaVinci Project again after the command completes. The BSW Package Mismatch dialog no longer appears.

What Happens to Your Configuration Values

Your own configuration values, stored in the Config directory of your DaVinci Project, are not affected by these update commands, which only delete generated ECU configuration output.

However, a new BSW Package brings new module definitions. After re-opening your project, carefully check the validation results for these common scenarios:

  • A parameter you configured that no longer exists in the new module definitions.

  • A new mandatory parameter that has not been configured yet.

  • A module replaced by a differently named successor (this is exactly what the module mapping in step 2 is for).

These cases require your attention and decision to complete the update successfully.

Summary of Steps

Step

Command

When Required

Purpose

1

bsw-update create-template

Always

Creates the mapping template file and its schema

2

Edit BswUpdate.template.json

Always

Specify how old modules and use cases map to the new package

3

bsw-update execute

Always (project closed)

Apply mappings and migrate module configurations

4

project derive-ecuc

Always

Rebuild ECU configuration against the new package definitions

5

import diagnostic-modules

Only if legacy diagnostic file exists

Rebuild diagnostic ECU configuration from transformed diagnostic input

6

project system-cleanup

Only on "Found more than 1 System" error

Merge conflicting System definitions

7

project activate-rec-modules

Optional

Activate module configurations new to the BSW Package

8

project update

Always

Apply changes to your configuration and finalize the update

Always Required: Steps 1, 2, 3, 4, and 8.

Conditional: Step 5 (if your project has a transformed diagnostic ECU configuration file), Step 6 (if an error is reported), and Step 7 (if you want to use new modules).