Getting Started With AUTOSAR Based Project

Translate in your language

AUTOSAR seems daunting for new developers 😀 I got a comment on my last article asking for information on getting started with AUTOSAR project, so I thought of covering it in this article first.
AUTOSAR has developed a layered architecture having standard specifications and software for AUTOSAR based ECU is developed is by adhering to those specifications. The software can be developed by software developers or the code can be generated by using different ECU configuration softwares like Vector’s DaVinci Configurator and Developer, K-SAR, etc. The former is for very advanced developers who understand whole AUTOSAR specifications in detail and latter is used by majority of developers (like me 🙂 ) because it decreases the time for development and there is no need to reinvent the wheel 😀 . In this option, you can generate code by configuring the application requirements in a software having GUI and then application code can be integrated in that generated code. This article will help in understanding the process of configuration of ECU based on AUTOSAR.

Please note that this article won’t provide detailed steps, but a abstract view of the process helpful for beginners.

The group of all ECUs and whole network in a car is called System and firstly the System is configured and then each ECU of that system is configured.

AUTOSAR process
Fig: AUTOSAR project process methodology (courtesy: autosar.org)

Above figure shows the process flow of ECU code generation from System configuration to ECU executable. Although above figure shows executable as .exe but it should not be confused with .exe file of Windows PC 😀 . Here .exe file means a general executable file which can be .elf, .bin, etc. AUTOSAR uses a specific file format for information exchange between different steps in the process. That file format is similar to XML but in AUTOSAR context its called .arxml ( AUTOSAR Extensible Markup Language ) file. The configuration software will interpret this file and generate code according to the information contained in this file.

Some Steps in configuration are:

  1. System Configuration: In this step, overall ECUs required in car(System) and their hardware is configured along with SWCs and the Compostion SWCs are mapped to respective ECUs. 
  2. Generate System Configuration Description: After configuration from first step, the output of the first step is called System Configuration Description file which is in .arxml file format. 
  3. ECU Extract generation: By using the System Configuration description arxml file from step 2 as input, a new file is generated which is called ECU Extract arxml file. It has information for single ECUs only unlike the System Configuration description file which has information of all the ECUs in a Car.
  4. ECU Configuration: In this step, the ECU Extract is used as input and respective ECU is configured according to application requirements. Configurations like BSW configuration, OS configuration etc.
  5. Generate ECU Configuration Description: This step will be used to generate the output of step 4 i.e. generate ECU Configuration Description arxml file which will be used further to generate Executable.

You can note file nomenclature, the files with suffix “Description” is the output of the respective step or process. For example System Configuration Description arxml is the output of System Configuration step.

What Information System Configuration Description File Has?

The System Configuration Description file (generated after System Configuration) have all the system configuration information such as :

  • ECUs present in the system
  • Communication systems interconnecting those ECUs and their configuration
  • Communication matrices which will indicate the data which will be sent and received for those communication systems. As AUTOSAR aims to standardize whole development, all the data, size,etc that will be transmitted or received needs to be configured at the configuration time.  
  • Definition of SWCs with their ports and interfaces and connections.
  • Mapping of SWCs(Software Components) to ECUs.
If you don’t understand some points above, don’t worry it will be cleared in future articles. This file serves as a input to ECU configuration. The ECU Extract file is the same as the System Configuration Description but having information related to relevant ECU only.

What Information ECU Configuration Description File Has?

The ECU Extract only defines the configuration elements that needs to be agreed by all ECUs in the system, but this is not sufficient to generate a code that can run on hardware. As this file don’t have any low level configuration information which can be used for configuring lower layers of the AUTOSAR architecture. So ECU Configuration description has that information which the configuration software utilizes and generates the .c and .h files which are further compiled and run on hardware.
 
I hope I explained the process in easy language. It was not easy to prepare process in such abstract way as AUTOSAR configuration is much deep and needs in detailed understanding. Stay tuned for future articles. 
 
Thanks for reading! 🙂

Like us on Facebook!

Subscribe for newsletters!

9 thoughts on “Getting started with AUTOSAR based project”

  1. Thanks for sharing the steps. As a Embedded Engineer I was curious how Autosar projects are developed. Please keep posting !

  2. Very nice post. This was needed as AUTOSAR don't have a direct resource to understand the process. Waiting for further posts!

  3. Rudresh kumar

    Hi sir,
    I have some queries which is briefed below,
    1. if we are going to develop software for only one ECU. In this case will the system configure step present in the autosar process?
    2. All the steps described in the autosar process can be done with a single tools such as davinci configurator or developer? Or multiple tools required for each step?
    3.Final generated executable depends purely on the tool chain provided by the MCU vendor, so software can be generated only for the hardware supported by these tools or MCU specific toolchain can be integrated to these configurator tools?

    1. Hi Rudresh,
      Answers:
      1. System configuration is needed because you configure SWC and Runnables there. If you skip this then your ECU won’t perform any work.
      2. All the steps can be accomplished by using only Davinci Configurator and Developer assuming you have CAN DBC file
      3. Davinci software generates C code according to your configuration and AUTOSAR specs. This code you have to compile using standard compilers for your hardware platform. AFAIK, you cannot integrate tool chain in Davinci.

  4. Since MCAL layer is MCU specific, we will get the required drivers from the MCU vendor, My question is Do we need to manually integrated these drivers after the autosar code generation or it can be easily done through the tool itself?

Let me know your comments or doubts...

This site uses Akismet to reduce spam. Learn how your comment data is processed.