RTA Knowledge Base

Introduction

This article introduces the new RTA-CAR Project structure and briefly explain the main steps to follow in order to migrate from an older ISOLAR Project based on RTA-BSW 3.x to the new RTA-CAR Projects based on RTA-BSW 5.0.

Create a new RTA-CAR Project

In order to generate the code, RTA-BSW 5.0 requires a new project structure which is called "RTA-CAR Project".

Therefore the first step is to create a new project with ISOLAR 6.0.1 using the RTA-CAR project creation wizard; this step is mandatory for the migration to BSW 5.0.

To create a new RTA-CAR project go to  File → New → RTA-CAR Project

Create the new RTA-CAR project

Insert a project name and select the reference AUTOSAR release version, then press  Finish

RTA-CAR Project wizard

If you then open the created project with your file explorer, you will see that the new project will have the following structure:

The main folders are:

  1. ecu_config: this folder shall contain all the ecu-related configurations (BSW configuration, OS configuration, RTE configuration, MCAL configuration)
  2. system_config: this folder shall contain all the arxml files of the system configuration (Ecu Extract, System Extract, Flatwiews, etc)
  3. src: this folder will contain the generated BSW code, but it is not created when the project wizard is launched. This folder will be created later by the RTA-BSW Code Generator.

Good practice hint

As a good practice, if you have some ASW configurations (Interfaces, SW-C, compositions, etc), it is strongly suggested to create an additional folder in the root directory, called "asw_config" where to place all the arxml files related to the ASW configuration.

Import arxml files

The second step is to import your existing arxml files of your RTA-BSW 3.x project in the freshly created RTA-CAR project. Doing this operation, please respect as much as you can the folder structure and place the arxml in the correct folder.

Import ASW configuration related arxml files

All the arxml files related to the ASW configuration can be imported in the asw_config folder. To import these files, you can just drag and drop or copy the arxml in the new project folders.

Refreshing the project in ISOLAR you will see the ASW components populating the Software folder in the AR explorer:

Import the System configuration related arxml files

Repeat the previous step with the arxml which contain System Configuration and drag and drop those files in the project root folder. Refreshing the ISOLAR project you will see the System folder populated in the AR explorer:

NB: System configuration files must be put into the project root folder not in the system_config folder; this is due to the tool updating these files only if in this path otherwise it will create new files when executing system creatin and ECU extract creation/update.

Import the BSW Configuration and the algo.proprieties file

Now can import the BSW static configuration copying the arxml files in the ecu_config/bsw/internal folder. You can create a separate folder where to place the arxmls.

In case you have an algo.properties now you copy also that file before to proceed with the Configuration Generation and Code Generation

Once you imported all your BSW static configuration files, you can refresh the project in ISOLAR and see the Bsw Modules folder populated with the BSW configuration:

Warning: Do not import the files that are generated by the Configurator Generator, such as the Project_EcucValues.arxml. These files will be created again when you will run the Configurator Generator.

ConfGen and CodeGen

Now you have all the arxml files with the BSW configuration. You can proceed running ConfGen and Codegen.

Warning: Codegen will probably return some errors due to the differences between the RTA-BSW 3.x configuration and RTA-BSW 5.0 configuration. RTA-BSW 5.0 introduces new features and requires some additional mandatory parameters to be configured. After running the CodeGen, you will get the list of missing parameters in the Problems log as shown below:

These parameters must be manually added to get the BSW configuration completed. Once you have the correct BSW configuration, you can run CodeGen again and the BSW will be generated.

As previously mentioned, the RTA-BSW code will be generated in the "src" folder created in the root directory of the RTA-CAR project.


RTA-BSW Integration Code

If you are migrating your project, you might have some hand-written integration code. Please remember to report that code in the freshly created RTA-BSW code in the src folder. This step can be done only manually, with the help of your preferred merge tool.

RTE and OS configuration

As best practice, it is suggested to import the RTE and OS configuration in the ecu_config folder, creating a dedicated folder for the RTE and one for the OS (you can use the RTA-SK 5.0 folder structure as example). There is no problem if you choose to have a different folder structure and import the files in different folders, the tool-chain will recognize and interpret them correctly in any case.


Configuration Migration advice

  • DO NOT import the parameter definitions. These change every BSW version and you should always use the most up to date versions.
  • DO NOT import the "Standard","Platform" and "Base Types" type definitions. You should use the types as defined in the "system_config" of the new project structure.
  • DO NOT import the "rba_arxmlgen" configurations, by default these are in Config/BSW/EcucValues. These are inputs to RTA-BSW Code Generation and are handled differently in RTA-BSW 5.0.
  • It is not avdvised to import outputs of Configuration Generation/Code Generation. This includes the SWCD and BSWMD folders, src/BSW/Gen folder, ProjectEcucValues.arxml and CanEcucValues.arxml, fwd folder. You should re run Configuration Generation and Code Generation to update these.

Conclusion

Now you should have your RTA-CAR project ready to go and your old RTA-BSW 3.x based project converted with the RTA-BSW 5.0.

You can follow the usual steps to re-generate RTE, OS, integrate with your MCAL and build your project.