Getting started with AUTOSAR based project
AUTOSAR seems daunting for new developers , I got a comment on my
last blog post asking for information on
getting started with AUTOSAR project so I instead of explaining in detail whole AUTOSAR architecture now (which will be covered in future posts) thought of writing a post on it.
AUTOSAR has developed a standard by adhering it the software for ECU is developed. 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 in detail and later is used by majority of developers because it decreases the time for development by configuring the application requirements in a GUI and get code generated in which application can be integrated. I considered this topic for this post now because it will be easy to relate the technical details of AUTOSAR which will be explained in future posts. This post will help in understanding the process of configuration of ECU. Please note that this is not a detailed step but a abstract view of the process helpful for beginners.
The group of all ECUs is called system and firstly the System is configured and then each ECU of that system is configured.
 |
| Fig: Abstract view of AUTOSAR Methodology (courtesy autosar.org) |
Above figure shows the process flow of ECU code generation from System configuration to ECU executable or code for ECU. AUTOSAR uses a specific file format for information exchange between different different steps in the process. That file format is similar to XML but in AUTOSAR context its called .arxml file. This file has information which the software used for configuration interprets and generates the code accordingly (assuming we are using Vector's DaVinci softwares).
Steps are:
1. System Configuration (here Hardware and system is designed)
2. Generate System Configuration Description arxml
3. From above file ECU extract arxml will be generated for each ECU of the System
4. ECU Configuration
4. Generate ECU Configuration Description arxml which will be used further to generate Executable.
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. This is known as Communication Matrix and its file format is known as .dbc (again by considering Vector DaVinci softwares) and that file is created and edited in a special software provided by Vector known as Vector CANdb++.
- 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 posts. 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 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 posts.