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 |
|
Updating Your BSW Package
-
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/BswUpdatedirectory of your DaVinci Project:-
BswUpdate.template.json, the file you edit in the next step. -
BswUpdate.schema.json, the schema that validates it.
-
-
Open
BswUpdate.template.jsonand fill in the module mappings and use-case mappings.The accompanying
BswUpdate.schema.jsondescribes the allowed content, so a JSON-aware editor validates your entries as you type. -
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.
-
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.
-
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, openSettings/ArxmlProjectContent.jsonin your project and look for the entrycontent.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 toOutput/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.
-
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-ecucand beforeproject update. -
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.
-
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 actionsOpen 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 |
|
Always |
Creates the mapping template file and its schema |
2 |
Edit |
Always |
Specify how old modules and use cases map to the new package |
3 |
|
Always (project closed) |
Apply mappings and migrate module configurations |
4 |
|
Always |
Rebuild ECU configuration against the new package definitions |
5 |
|
Only if legacy diagnostic file exists |
Rebuild diagnostic ECU configuration from transformed diagnostic input |
6 |
|
Only on "Found more than 1 System" error |
Merge conflicting System definitions |
7 |
|
Optional |
Activate module configurations new to the BSW Package |
8 |
|
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).