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.
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:
- 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.
- 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.
- 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.
- 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.
- 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.
Thanks for sharing the steps. As a Embedded Engineer I was curious how Autosar projects are developed. Please keep posting !
Thanks, this blog is very clear to understand.
Very nice post. This was needed as AUTOSAR don't have a direct resource to understand the process. Waiting for further posts!
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?
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.
Thanks for the reply
Always welcome Rudresh! Please do subscribe for new posts using subscribe button in bottom.
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?
Yes we can integrate MCAL in vector Davinci Configurator before generating code.