AUTOSAR BasicSoftwareModules
AUTOSAR BasicSoftwareModules
V1.3.0
R3.0 Rev 0004
Disclaimer
This document of a specification is released by AUTOSAR for the purpose of information only.
The commercial exploitation of material contained in this specification requires membership of
the AUTOSAR Development Partnership or an agreement with the AUTOSAR Development
Partnership. The AUTOSAR Development Partnership will not be liable for any use of this
specification. Licenses for commercial exploitation of AUTOSAR Specifications may be made
available to end users by way of written License Agreement only.
No part of this publication may be reproduced or utilized in any form or by any means, without
per-mission in writing from the publisher. The word AUTOSAR and the AUTOSAR logo are
registered trademarks.
Item Explanation
µC Microcontroller
CHI Communication Host Interface
DTC Diagnostic Trouble Code
ECU Electronic Control Unit
HAL Hardware Abstraction Layer
HIS Hersteller-Initiative Software
LH Lastenheft
Lld Low Level Driver
MM Message Manager
NM Network Management
NV Non Volatile
OS Operating System
PLL Phase Locked Loop
RB Robert Bosch
TP Transport Protocol
CAN
CAN Transport
CAN Driver Interface CAN NM Layer CAN State
ICC 2 Cluster Variant (V2.0.0) (V1.5.0) (V1.9.0) (V2.0.1) Manager
CAN VariantPC VariantPC Variant1 Variant1 Variant1 Variant1
CAN VariantLT VariantPC Variant2 Variant2 Variant1 Variant1
CAN VariantPB VariantPB Variant3 Variant3 Variant2 Variant2
AUTOSAR
COM PDU Router
ICC 2 Cluster Variant (V2.0.19) (V2.0.1)
COM services VariantPC Variant1 Variant1
Internal / Internal /
external FlexRay CAN External Internal / Flash Memory
SPI Handler Watchdog I/O Hardware Watchdog Tranceiver Tranceiver LIN EEPROM External EEPROM CRC EEPROM Abstraction
Driver Port Driver DIO Driver PWM Driver ICU Driver ADC Driver GPT Driver MCU Driver Driver RAM Test Abstraction Interface Driver Driver Transceiver Driver Flash Driver Abstraction Routines Emulation Interface
ICC 2 Cluster Variant (V2.0.9) (V2.0.4) (V2.0.0) (V2.0.0) (V2.1.6) (V2.0.0) (V2.0.4) (V2.0.5) (V2.0.3) (V1.0.3) (V1.0.1) (V2.0.2) (V1.0.13) (V1.0.4) Driver (V2.1.5) (V1.1.0) Flash Check (V2.0.6) (V2.0.0) (V2.0.6) (V2.0.5)
ECU VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC VariantPC Variant1 Variant1 Variant1 VariantPC
Firmware
ECU VariantLT VariantLT VariantPC VariantLT VariantPC VariantPC VariantPC VariantPC VariantPC VariantLT VariantLT Variant2 Variant2 Variant1 VariantLT
Firmware
ECU VariantPB VariantPB VariantPB VariantLT VariantPB VariantPB VariantPB VariantPB VariantPB VariantPB VariantLT Variant3 Variant3 Variant1
Firmware
FlexRay
FlexRay FlexRay Transport FlexRay
Driver Interface FlexRay NM Layer State
ICC 2 Cluster Variant (V1.0.31) (V1.2.8) (V1.7.5) (V2.0.6) Manager
FlexRay VariantPC Variant1 Variant1
FlexRay VariantLT Variant2 Variant2
FlexRay VariantPB Variant3 Variant3
ICC 3 NVRAM
Module Manager
delivery Variant (V2.0.7)
Memory VariantPC Variant1
Memory VariantLT Variant1
ICC 3 Development
Module Error Tracer
delivery Variant (V2.0.1)
Debug VariantPC N/A
Debug VariantLT N/A
Debug VariantPB N/A
ICC 3 Operating
Module System
delivery Variant (V2.0.4)
OS VariantPC
ICC 3
Module BSW
delivery Variant Scheduler
SchM VariantPC
ICC 3
Module Watchdog
delivery Variant Manager
WdgM VariantPC
ICC 3
Module Ipdu
delivery Variant Manager
IpduM VariantPC
ICC2 Cluster
Variant Description
VariantPC Precompiletime parameters only
VariantLT Mixture of Precompiletime and linktime parameters
VariantPB Mixture of postbuildtime-, linktime- and precompiletime parameters
3 Cluster Overview
Module
dependency
dependency
dependency
dependency
short
AUTOSAR name Number
OEM
ECU
Bus
µC
name of (API Module Current AUTOSA of
function / service ID Functional Autosar R SW instance
cluster prefix) (uint8) description release Rationale Layer s Reason for dependencies
CAN Optimisation
Optimised CAN of
network implementati Contains Network stack
C2Can 220 implementation 3.0 on N/A 1 N/A High High High BSW modules.
COM services Optimisation
Optimised COM of
and PDUR implementati
C2Com 221 implementation 3.0 on N/A 1 N/A none medium medium Heritage from PduR
Diagnostic Optimised Optimisation
Diagnostic of
handling implementati Heritage from FIM,
C2Diag 222 implementation 3.0 on N/A 1 N/A none medium none DCM and DEM
ECU Firmware Optimisation
Optimised of Heritage from SPAL,
Firmware implementati Watchdog driver, RAM test
C2Fw 223 implementation 3.0 on N/A 1 N/A High High N/A and I/O HW abstraction
FlexRay Optimised Optimisation
FlexRay of
network implementati Contains Network stack
C2Fr 224 implementation 3.0 on N/A 1 N/A High High High BSW modules.
LIN Optimisation
Optimised LIN of
network implementati Contains Network stack
C2Lin 225 implementation 3.0 on N/A 1 N/A High none High BSW modules.
ModeManageme Optimisation
nt Optimised Mode of
management implementati Heritage from Com
C2MMgt 226 implementation 3.0 on N/A 1 N/A none High none Manager etc.
dependency
dependency
dependency
dependency
short
AUTOSAR name Number
OEM
ECU
Bus
µC
name of (API Module Current AUTOSA of
function / service ID Functional Autosar R SW instance
cluster prefix) (uint8) description release Rationale Layer s Reason for dependencies
Remaining ICC2 "Clusters" are reflected by the individual ICC3
modules due to a "clustering" of 1 ICC3 module to 1 "ICC2
Memory Optimisation
of
ICC 3 module implementati Heritage from Flash Driver
NvM 20 delivery 3.0 on N/A 1 N/A High High N/A etc.
Debug ICC 3 module
Det 15 delivery 3.0
OS Optimisation
of
ICC 3 module implementati
OS 1 delivery 3.0 on N/A 1 N/A medium none N/A Heritage from OS.
Optimisation
of
Scheduler
ICC 3 module implementati
SchM 130 delivery 3.0 on N/A 1 N/A medium none N/A Heritage from OS.
Optimisation
of
Watchdog ICC 3 module implementati Heritage from Watchdof
Manager WdgM 13 delivery 3.0 on N/A 1 N/A medium none N/A Manager
Optimisation
of
ICC 3 module implementati
IPDUM Idpum 52 delivery 3.0 on N/A 1 N/A none none N/A Heritage from IPDUM
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
CAN Driver Can 80 The CAN Driver provides services for initiating 3.0 Communication infrastructure Communicat 1
transmissions and callback functions for notifying receive is one of the most important ion Drivers (indexed)
events, independently from the hardware. aspects for the AUTOSAR or several
RTE. (code
CAN is the most important doubled)
communication system. possible
FlexRay Driver Fr 81 The FlexRay Driver is used to abstract the hardware 3.0 Communication infrastructure Communicat 1
related differences of different FlexRay Communication is one of the most important ion Drivers (indexed)
Controllers. All mandatory features according to the aspects for the AUTOSAR or several
FlexRay Protocol Specification of the Communication RTE. (code
Controllers are encapsulated and can only be accessed Upcoming time triggered multi doubled)
by a uniform interface. The API provides abstract master communication system possible
functional operations that are mapped to a sequence of with high bandwidth.
hardware accesses depending on the actual supported
CC
LIN Interface LinIf 62 LIN Master Communication Stack 3.0 Communication infrastructure Communicat 1
Communication services for LIN communication: is one of the most important ion HW
- Schedule table handling aspects for the AUTOSAR Abstraction
- Transmission of LIN frames (confirmation with flag and RTE.
function interface) State of the art master slave
- Reception of LIN frames (indication with flag and system for low end
function interface) applications.
- Sleep and wakeup handling
- Error handling of protocol errors
- Timeout observation of LIN frames
- Transport protocol for diagnostic
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
LIN Driver Lin 82 Low level driver for performing LIN communication via 3.0 The separation of low level Communicat 1
the internal standard asynchronous serial communication driver and LIN communication ion Drivers (indexed)
interface of the µC (SCI/UART): stack enhances portability of or several
- Initialization of the SCI hardware the LIN communication stack (code
- API for generating an original "LIN synch break" to other microcontrollers. doubled)
possible
On Chip LIN devices are not supported.
SPI Handler Spi 83 The SPI Handler/Driver provides services for reading 3.0 Communicat 1
Driver from and writing to devices connected via SPI busses. It ion Drivers
provides access to SPI communication to several users
(e.g. EEPROM, Watchdog, I/O ASICs). It also provides
the required mechanism to configure the onchip SPI
peripheral.
Internal / Eep 90 The EEPROM driver provides services for reading, 3.0 Memory 1..*
External writing, erasing to/from an EEPROM. It also provides a Drivers
EEPROM Driver service for comparing a data block in the EEPROM with
a data block in the memory (e.g. RAM).
Internal / Fls 92 The flash driver provides services for reading, writing and 3.0 Memory 1..*
External Flash erasing flash memory and a configuration interface for Drivers
Driver setting/resetting the write/erase protection if supported by
the underlying hardware.
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
Port Driver Port 124 This module shall provide the service for initializing the 3.0 I/O Drivers 1
whole PORT structure of the microcontroller.
DIO Driver Dio 120 The DIO Driver provides services for reading and writing 3.0 I/O Drivers 1..*
to/from
• DIO Channels (Pins)
• DIO Ports
• DIO Channel Groups
PWM Driver Pwm 121 The driver provides services for initialization and control 3.0 I/O Drivers 1..*
of the microcontroller internal PWM stage (pulse width
modulation).
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
ICU Driver Icu 122 The ICU driver (Release 1) provides services for signal 3.0 I/O Drivers 1..*
edge and level notification. Furthermore it provides
services to control Wake-up interrupts.
GPT Driver Gpt 100 Driver for internal general purpose timer 3.0 Microcontroll 1
Provision of periodic timer interrupts for use in timer er Drivers
services
Two modes are provided:
- resolution mode (module tries to perform the desired
number of alls)
- period mode (module tries to maintain the specified
period time)
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
MCU Driver Mcu 101 Driver Responsible to provide the following services: 3.0 Microcontroll 1
- SW initiated µC reset er Drivers
- selection of µC power mode (STOP, SLEEP, HALT, …)
- configuration of Wake-up
- Handling of the internal PLL clock unit (Initialization and
frequency setting, mode selection, detection of clock
disturbance, crystal loss, ...)
Internal / Wdg 102 Mode selection and triggering of µC internal watchdog 3.0 Microcontroll
external er Drivers
Watchdog Driver Contraints: Trigger routine is called by watchdog
manager
RAM Test RamTst 93 Functional test of µC internal RAM cells 3.0 Memory 1
- complete test during start-up/shutdown cycle Drivers
- complete test, triggered by diagnostic command
- cyclic test during normal operation mode (block by block
or cell by cell)
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
I/O Hardware no prefix 254 Abstraction of signal path of the ECU hardware (Layout, 3.0 Contributes to the AUTOSAR I/O HW 1
Abstraction (AUTOSAR µC Pins, µC external devices like I/O ASIC) goal of hardware Abstraction
interface) - Provides signal based interface independency.
- static normalization/inversion of values according to
their physical representation at the inputs/outputs of the
ECU hardware (compensation of static influences caused
withing the path between ECU I/O and µC pin, e.g.
voltage divider, hardware inversion)
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
CAN Interface CanIf 60 The CAN Hardware Interface provides equal 3.0 Contributes to the AUTOSAR Communicat 1
mechanisms to access a CAN bus channel regardless of goal of hardware ion HW
it‘s location (µC internal/external). It abstracts from the independency. Abstraction
location of CAN controllers (onchip/onboard), the ECU
hardware layout and the number of CAN drivers.
FlexRay FrIf 61 The FlexRay Interface provides equal mechanisms to 3.0 Contributes to the AUTOSAR Communicat 1
Interface access a FlexRay bus channel regardless of it‘s location goal of hardware ion HW
(µC internal/external). It abstracts from the location of independency. Abstraction
CAN controllers (onchip/onboard), the ECU hardware
layout and the number of CAN drivers.
CRC Routines Crc 201 calculation of CRC16, CRC32 etc. 3.0 System 1
Optimized for size (runtime calculation) or speed (table Services -
based) Std Lib
Operating Os 1 OSEK operating system plus extensions: 3.0 System 1
System - memory protection Services -
- Deadline monitoring OS
- schedule tables
- enhanced counter structure
Communication ComM 12 Controlls the states of all communication channels 3.0 System 1 ( but one
Manager attached to the ECU Services state
machine
for each
channel)
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
ECU State EcuM 10 ECU power and mode Management 3.0 Different independend System 1
Manager - e.g. Start-up, Pre-Start, Normal Operation, Limp Home, applications on one ECU need Services
Pre-Sleep, Shut down synchronised mechanisms for
- control of network management mode switches (e.g. ECU shut
- control of watchdog manager down).
- control of NVRAM manager Requirement of WP10.1
- control of power relevant modules (e.g. bus tranceiver
drivers)
- ...
Management of (maybe parallel) ECU states
- Global States
- Local States (Implementation by User)
Activation of software parts dependent on active state(s)
Development Det 15 Supports software debugging. 3.0 Eases finding errors during first System 1
Error Tracer Provides interface for reporting development errors: SW integration phase. Services
Dbg_ReportError(Module-ID, API-ID, Error-ID)
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
Function FiM 11 Control of functionality 3.0 A centralized function inhibit System 1
Inhibition - control (enable/disable) functionalities of SW management helps separation Services
Manager components based on the following inhibit conditions: between user behaviour and
- faults fault reaction. An inhibition
- signal qualities matrix forces the configurator
- ECU and vehicle states to specify the reaction of every
- diagnostic tester commands function to every fault.
- EOL configuration (function enabling/disabling in
EEPROM)
- only in special cases for binary informations that are
similar to reaction to faults: driver demands (e.g. ESP
on/off)
The Function Inhibition Manager shall use the information
of dependencies provided by the software components .
CAN NM CanNm 31 Network management for CAN in interrupt mode 3.0 Highly important for ECU Communicat 1 per
CAN specific synchronisation and monitoring algorithms power management. ion Services connected
- synchronised transition to bus sleep CAN
- determination of network configuration at start-up cluster
- monitoring of network configuration during operation
- error recovery after bus-off
- provision of network status information
- bus diagnostics
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
FlexRay NM FrNm 32 Network management for FlexRay 3.0 Highly important for ECU Communicat 1 per
- synchronised transition to bus sleep power management. ion Services connected
- determination of network configuration at start-up FlexRay
- monitoring of network configuration during operation cluster
- error recovery after bus-off
- provision of network status information
- bus diagnostics
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
PDU Router PduR 51 Functionality 1: 3.0 Use OSEK COM on an ECU Communicat 1
Deploys IPDUs of OSEK COM to different with more than one ion Services
communication systems. communication system.
The IPDU identifier decides on the network system type
(e.g. CAN, LIN) and if a transport layer has to be used or Use OSEK COM with transport
not. layer
Functionality 2:
Frame based gateway. Simple routing of complete PDUs
between equal (e.g. CAN - CAN) or different (e.g. CAN -
LIN) vehicle network systems.
- mapping of event triggered and cyclic frames
- queueing of frames
- sending of default values
This functionality is optional if there is no gateway
required on an ECU (e.g. ECU is connected only to 1
CAN bus)
CAN Tranceiver CanTrcv 70 Driver for external CAN transceiver 3.0 Implementation cannot be Communicat 1 per
Driver - Control of wake-Up/sleep standardized, only basic ion HW connected
- Network diagnostic (short circuit, open line, ...) interface Abstraction CAN
- ... cluster
FlexRay FrTrcv 71 Driver for external FlexRay transceiver 3.0 Implementation cannot be Communicat 1 per
Tranceiver - Control of wake-Up/sleep standardized, only basic ion HW connected
Driver - Network diagnostic (short circuit, open line, ...) interface Abstraction FlexRay
- ... cluster
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
CAN Transport CanTp 35 Transport protocol on CAN according to ISO 15765-2 3.0 Communication infrastructure Communicat 1 per
Layer TPL is one of the most important ion Services connected
- segmentation of data in transmit direction aspects for the AUTOSAR CAN
- collection of data in receive direction RTE. cluster
FlexRay FrTp 36 Transport protocol on FlexRay using the dynamic part of 3.0 Communication infrastructure Communicat 1 per
Transport Layer the communication round is one of the most important ion Services connected
- segmentation of data in transmit direction aspects for the AUTOSAR FlexRay
- collection of data in receive direction RTE. cluster
Diagnostic Dcm 53 Diagnostic communication according to UDP - ISO14229 3.0 Many ISO14229 services have Communicat 1
Communication - functional interface for diagnostic services to be handled by AUTOSAR ion Services
Manager - handling of specific diagnostic requests (enable/disable software components.
normal message transmission, tester present)
Diagnostic Event Dem 54 Management of error data 3.0 Nearly every AUTOSAR Communicat 1
Manager - Structuring of error data which shall be saved to the software component needs the ion Services
NVRAM possibility to report errors to be
- Non volatile setting, counting, resetting and reading of written to the error memory.
Flash EEPROM Fee 21 Emulates EEPROM functionality using the flash memory 3.0 Memory 1
Emulation Services
NVRAM NvM 20 Management of non volatile data 3.0 Nearly every AUTOSAR Memory 1
Manager - immediate/queued/delayed writing software component needs non Services
- data shadowing in RAM volatile data to be managed.
- data encryption in NVRAM For relocatability a
BSW Scheduler SchM 130 Provide scheduling of all BSW modules, e.g. assigns 3.0 System 1
Module priority and memory protection to each BSW module Services
used in an ECU.
Memory MemIf 22 Abstracts the memory interface for different memory 3.0 Memory 1
Abstraction devices. Services
Interface
Watchdog WdgM 13 Supervision of application functions 3.0 System 1
Manager - checking aliveness of applications (e.g. collecting flags, Services
IPDU Multiplexer IpduM 52 Handles multiplexing of PDU's 3.0 1
AUTOSAR
name of Module short Module Current Number
function / name (API ID Autosar AUTOSAR of
module service prefix) (uint8) Functional description Release Rationale SW Layer instances
CAN State CanSM 140 Mastering states for the CAN bus 3.0 1..*
Manager
LIN State LinSM 141 Mastering states for the LIN bus 3.0 1..*
Manager
FlexRay State FrSM 142 Mastering states for the FlexRay bus 3.0 1..*
Manager
Complex Drivers no prefix 255 A high number of different drivers for complex sensor 3.0 1..*
(AUTOSAR evaluation and actuator control with direct access to the
interface) µC using specific interrupts and/or complex µC
peripherals (like PCP, TPU), e.g.
Generic NM InterfNm Network management 3.0 1
- provides common, network independent API
29
- synchronisation of network, cluster wide, shut down of
communication system.