Behind The Scenes

This section provides background information on the Update BSW Package process, explaining why it works the way it does.

Why Your Project Opens Read-Only

Your DaVinci Project stores the identity of the BSW Package it was created with. Every BSW Package holds an identity, a delivery key with a version. When you open the project against a BSW Package with a different identity, DaVinci Configurator Classic Version 6 notices and stops, because the module definitions in a BSW Package decide which parameters exist, which values are allowed, and what the generators produce.

The BSW Package Mismatch dialog shows you both identities, the one recorded in the project and the one installed, plus the path to the installed BSW Package, so you can confirm you picked the BSW Package you meant to.

Why derive-ecuc is a Full Rebuild

The dvcfg-b project derive-ecuc command does not load or compare against the previously derived ECU configuration. Instead, it rebuilds it from scratch, based on:

  • The ECU Extract file(s) you pass on the command line (the system description for this ECU).

  • The BSW Module Definitions (BSWMDs) and their derivation mapping rules, contributed by the modules in the BSW Package.

  • The AUTOSAR platform types files from the project’s Autosar folder.

  • For variant projects, an Evaluated Variant Set (EVS) that pins the variant choices.

The command only writes to two locations of your DaVinci Project:

  • Output/Config/EcuExtract, which receives a harmonized system description. This is a filtered copy of your input: BSW configuration data is stripped out, only the system-description parts are kept.

  • Output/Config/EcuConfig, which receives the derived BSW configuration, plus a recommended file with overridable suggestions.

Because every run is a full rebuild, content that the new input no longer covers is removed the next time the project is loaded, so nothing derived is left behind as an orphan.

Your own configuration, the ActiveEcuC stored in the Config directory of your DaVinci Project, is never written by derive-ecuc. If a derived value collides with one of your own values, the collision is resolved in your favor at the next project load.

Why project update is Needed Afterwards

derive-ecuc only rebuilds the Output files; it does not merge them into your project. That merge happens at the next project load, where all layers, your own configuration and the newly derived output, are combined into one model.

The dvcfg-b project update command finishes the job: it applies the newly derived changes, performs automatic reference correction, updates the run-time environment configuration, and runs the applicable solving actions.

Merge Conflicts

Loading the ECU Extract and the BSW Module Definitions together can produce the same kind of merge conflicts as any other project load in DaVinci Configurator Classic Version 6. For details on conflict severities, the allowMergeConflicts setting, and how to read the resulting report, see: