AUTOSAR Slides - Extracted
AUTOSAR Slides - Extracted
- AUTOSAR Confidential -
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 15
pageid: 94jt1
Introduction
Scope and Extensibility
Application scope of AUTOSAR
AUTOSAR is dedicated for Automotive ECUs. Such ECUs have the following properties:
strong interaction with hardware (sensors and actuators),
connection to vehicle networks like CAN, LIN, FlexRay or Ethernet,
microcontrollers (typically 16 or 32 bit) with limited resources of computing power and memory (compared
with enterprise solutions),
Real Time System and
program execution from internal or external flash memory.
NOTE: In the AUTOSAR sense an ECU means one microcontroller plus peripherals and the according
software/configuration. The mechanical design is not in the scope of AUTOSAR. This means that if more
than one microcontroller in arranged in a housing, then each microcontroller requires its own description of
an AUTOSAR-ECU instance.
AUTOSAR extensibility
The AUTOSAR Software Architecture is a generic approach:
standard modules can be extended in functionality, while still being compliant,
still, their configuration has to be considered in the automatic Basic SW configuration process!
non-standard modules can be integrated into AUTOSAR-based systems as Complex Drivers and
further layers cannot be added.
- AUTOSAR Confidential 17
pageid: 94qu9
Application Layer
Microcontroller
- AUTOSAR Confidential 18
pageid: 94ju3
Application Layer
Runtime Environment
Services Layer
Microcontroller
- AUTOSAR Confidential 19
Complex
Drivers
pageid: 94ju4
Application Layer
Runtime Environment
System Services
Memory Services
Communication Services
Onboard Device
Abstraction
Memory Hardware
Abstraction
Communication
Hardware Abstraction
Microcontroller Drivers
Memory Drivers
Communication Drivers
Microcontroller
- AUTOSAR Confidential 20
I/O Drivers
Complex
Drivers
pageid: 94ju6
Application Layer
RTE
Properties
Implementation: C dependent
Upper Interface: standardized and C
independent
- AUTOSAR Confidential 21
Co
mpl
ex
Dri
ver
s
pageid: 94ju7
Application Layer
RTE
ECU
Abstraction
Layer
ECU
Abstraction
Layer
Microcontroller Abstraction Layer
Microcontroller
Task
Make higher software layers independent of
ECU hardware layout
Properties
Implementation: C independent, ECU hardware
dependent
Upper Interface: C and ECU hardware
independent
- AUTOSAR Confidential 22
Co
mpl
ex
Dri
ver
s
pageid: 94ju8
manager)
Task
Provide basic services for applications and basic
software modules.
Properties
Implementation: mostly C and ECU hardware
independent
Upper Interface: C and ECU hardware independent
- AUTOSAR Confidential 24
RTE
Services Layer
Abstraction
Layer
ECUECU
Abstraction
Layer
Microcontroller Abstraction Layer
Microcontroller
Complex
Drivers
Application Layer
Application Layer
RTE
Task
Provide the possibility to integrate special purpose
functionality, e.g. drivers for devices:
which are not specified within AUTOSAR,
with very high timing constrains or
for migration purposes etc.
Properties
Implementation: might be application, C and ECU
hardware dependent
Upper Interface: might be application, C and ECU
hardware dependent
- AUTOSAR Confidential 23
Services Layer
Abstraction
Layer
ECUECU
Abstraction
Layer
Microcontroller Abstraction Layer
Microcontroller
pageid: 94ju9
Application Layer
- AUTOSAR Confidential 25
Services Layer
Abstraction
Layer
ECUECU
Abstraction
Layer
Microcontroller Abstraction Layer
Microcontroller
Complex
Drivers
pageid: 94j33
- AUTOSAR Confidential 26
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 33
Application Layer
RTE
System Services
Onboard
Dev. Abstr.
Memory
Services
Communication
Services
Memory
HW Abstr.
COM HW
Abstr.
I/O HW
Abstraction
Communication Drivers
MicroCommuniMemory
I/O
Drivers for ECU onboard (e.g. SPI) and vehicle communication (e.g. CAN).
controller
cation
Drivers
Drivers
OSI-Layer: Part of Data Link Layer
Drivers
Drivers
I/O Drivers
Microcontroller (C)
Drivers for analog and digital I/O (e.g. ADC, PWM, DIO)
Memory Drivers
Drivers for on-chip memory devices (e.g. internal Flash, internal EEPROM) and memory mapped external memory devices
(e.g. external Flash)
Microcontroller Drivers
Drivers for internal peripherals (e.g. Watchdog, General Purpose Timer)
Group of
Functions with direct C access (e.g. Core test)
Microcontroller Drivers
Memory Drivers
Communication Drivers
I/O Drivers
Software
modules of
similar type
Software
module
internal
peripheral
device
Microcontroller
- AUTOSAR Confidential 34
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
Example:
Onboard Device Abstraction
Watchdog Interface
External
Watchdog Driver
Properties:
Implementation: C independent, external
device dependent
Upper Interface: C independent, partly ECU
hardware dependent
COM Drivers
Microcontroller
Drivers
- AUTOSAR Confidential 40
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
Example:
Memory Hardware Abstraction
Memory Abstraction Interface
EEPROM Abstraction
External
EEPROM Driver
Flash EEPROM
Emulation
External
Flash Driver
COM Drivers
Memory Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
Example:
Communication Hardware Abstraction
CAN Interface
CAN
Transceiver
Driver
I/O Drivers
Communication Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
Example:
I/O Hardware Abstraction
Task:
Represent I/O signals as they are connected to the
ECU hardware (e.g. current, voltage, frequency).
Hide ECU hardware and layout properties from higher
software layers.
COM Drivers
Properties:
Implementation: C independent, ECU hardware
dependent
Upper Interface: C and ECU hardware independent,
dependent on signal type specified and
implemented according to AUTOSAR (AUTOSAR
interface)
- AUTOSAR Confidential 37
I/O Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
A Complex Driver is a module which implements nonstandardized functionality within the basic software
stack.
An example is to implement complex sensor
evaluation and actuator control with direct access
to the C using specific interrupts and/or complex
C peripherals (like PCP, TPU), e.g.
Injection control
Electric valve control
Incremental position detection
Microcontroller (C)
Example:
Complex Drivers
Task:
Fulfill the special functional and timing requirements
for handling complex sensors and actuators
Properties:
Implementation: highly C, ECU and application
dependent
Upper Interface to SW-Cs: specified and implemented
according to AUTOSAR (AUTOSAR interface)
Lower interface: restricted access to Standardized
Interfaces
- AUTOSAR Confidential 36
I/O HW
Abstraction
I/O
Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Example:
Communication Services
IPDU
Multiplexer
DCM
Diagnostic
Com.
Manager
Generic NM
Interface
Debugging
PDU Router
I/O
Drivers
Microcontroller (C)
AUTOSAR
COM
Properties:
Implementation: C and ECU HW independent, partly
dependent on bus type
Upper Interface: C, ECU hardware and bus type
independent
I/O HW
Abstraction
<Bus
specific>
State
Manager
<Bus
specific>
NM
<Bus specific>
Transport Protocol
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Example:
Communication Services
Generic NM
Interface
AUTOSAR
COM
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
CAN
State
Manager
PDU Router
CAN NM
CAN Transport
Protocol
J1939 Transport
Protocol
CAN Interface
CAN Transceiver
Driver
I/O Drivers
DIO Driver
Communication Drivers
SPIHandler
Driver
SPI
External
CAN Controller
CAN Driver
CAN
Please Note:
There are two transport protocol modules in the CAN stack
which can be used alternatively or in parallel: CanTp and
J1939Tp. They are used as follows:
CanTp: ISO Diagnostics (DCM), large PDU transport
on standard CAN bus
- J1939Tp: J1939 Diagnostics, large PDU transport on
J1939 driven CAN bus
- AUTOSAR Confidential 42
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Properties:
Implementation: C and ECU HW independent, partly
dependent on CAN.
AUTOSAR COM, Generic NM (Network Management)
Interface and Diagnostic Communication Manager are the
same for all vehicle network systems and exist as one
instance per ECU.
Generic NM Interface contains only a dispatcher. No
further functionality is included. In case of gateway ECUs it
can also include the NM coordinator functionality which
allows to synchronize multiple different networks (of the
same or different types) to synchronously wake them up or
shut them down.
CAN Generic NM is specific for CAN networks and will be
instantiated per CAN vehicle network system. CAN
Generic NM interfaces with CAN via underlying network
adapter (CAN NM).
The communication system specific Can State Manager
handles the communication system dependent Start-up
and Shutdown features. Furthermore it controls the
different options of COM to send PDUs and to monitor
signal timeouts.
- AUTOSAR Confidential 43
Microcontroller (C)
I/O HW
Abstraction
I/O
Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Microcontroller (C)
Example:
Memory Services
NVRAM Manager
Properties:
Implementation: C and ECU hardware
independent, highly configurable
Upper Interface: C and ECU hardware
independent specified and implemented
according to AUTOSAR
(AUTOSAR interface)
- AUTOSAR Confidential 54
I/O HW
Abstraction
I/O
Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Microcontroller (C)
Example:
Task:
Provide basic services for application and
basic software modules.
Properties:
Implementation: partly C, ECU hardware and
application specific
Upper Interface: C and ECU hardware
independent
- AUTOSAR Confidential 55
System Services
I/O HW
Abstraction
I/O
Drivers
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Application Layer
AUTOSAR Runtime Environment (RTE)
Watchdog Manager
Function Inhibition
Manager
Development Error
Tracer
Communication
Services
Diagnostic Communication Manager
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
- AUTOSAR Confidential 56
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 58
pageid: w111b
ECU
core 1:
core 0:
Application Layer
RTE
System Services
Memory
Services
Operating
System
Communication
Services
Memory HW
Abstraction
COM HW
Abstraction
Microcontroller
Drivers
Memory
Drivers
Communication Drivers
I/O
Drivers
Complex Drivers
Onboard Dev.
Abstraction
Complex Drivers
I/O HW
Abstraction
ECU State
Manager
Core Test
Microcontroller (C)
- AUTOSAR Confidential 59
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Microcontroller (C)
Microcontroller
core 0:
core 1:
System Services
System Services
- AUTOSAR Confidential 60
I/O HW
Abstraction
I/O
Drivers
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 66
pageid: a6ztr
Vertical Interfaces
AUTOSAR
AUTOSAR
AUTOSAR
AUTOSAR
SW Comp
1
SW Comp
3
SW Comp
4
SW Comp
5
Microcontroller (C)
- AUTOSAR Confidential 69
pageid: 1xdfr
uses
Microcontroller Drivers
Memory Drivers
Communication Drivers
I/O Drivers
- AUTOSAR Confidential 70
Interfaces
Interfacing with Complex Drivers (1)
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
Interfaces
Interfacing with Complex Drivers (2)
Application Layer
RTE
System Services
Memory
Services
Communication
Services
I/O HW
Abstraction
- AUTOSAR Confidential 72
Interfaces
Interfacing with Complex Drivers (3)
Application Layer
RTE
System Services
Memory
Services
Communication
Services
I/O HW
Abstraction
- AUTOSAR Confidential 73
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 74
- AUTOSAR Confidential 75
System Services
Memory Services
Watchdog
Manager
NVRAM
Manager
Onboard Device
Abstraction
Watchdog Interface
Wdg_Trigger()
Fls_Read()
Fls_Write()
COM Drivers
Memory Drivers
SPIHandlerDriver
Internal
Flash Driver
SPI
Flash
External
Watchdog
Flash EEPROM
Emulation
Spi_ReadIB()
Spi_WriteIB()
CS
- AUTOSAR Confidential -
Fee_Read()
Fee_Write()
EEPROM
Abstraction
External
EEPROM Driver
External
Watchdog Driver
76
MemIf_Read()
MemIf_Write()
WdgIf_Trigger()
SPI
CS
External
EEPROM
SPI
Nvm_Write(BlockIndex)
Memory Services
Interface Description
The Memory Abstraction Interface could have the
following interface (e.g. for the write function):
NVRAM
Manager
MemIf_Write(
DeviceIndex,
BlockNumber,
DataBufferPtr)
Std_ReturnType MemIf_Write
(
uint8
DeviceIndex,
uint16
BlockNumber,
uint8
*DataBufferPtr
)
Ea_Write(
BlockNumber,
DataBufferPtr)
EEPROM Abstaction
Std_ReturnType Ea_Write
(
uint16
BlockNumber,
uint8
*DataBufferPtr
)
- AUTOSAR Confidential 77
Fee_Write(
BlockNumber,
DataBufferPtr)
Flash
EEPROM Emulation
File MemIf.c:
Does not exist
Result:
No additional code at runtime, the NVRAM Manager virtually accesses the EEPROM Abstraction or the Flash
Emulation directly.
- AUTOSAR Confidential 78
File MemIf.c:
#include Ea.h
#include Fee.h
#include MemIf.h
- AUTOSAR Confidential 80
Table of contents
1. Architecture
1. Overview of Software Layers
2. Content of Software Layers
3. Content of Software Layers in Multi Core systems
4. Overview of Modules
5. Interfaces
1. General
2. Interaction of Layers (Examples)
2. Configuration
3. Integration and Runtime aspects
- AUTOSAR Confidential 86
Configuration
Overview
The AUTOSAR Basic Software supports the following configuration classes:
1. Pre-compile time
Preprocessor instructions
Code generation (selection or synthetization)
2. Link time
Constant data outside the module; the data can be configured after the module has been
compiled
3. Post-build time
Loadable constant data outside the module. Very similar to [2], but the data is located in
a specific memory segment that allows reloading (e.g. reflashing in ECU production line)
Single or multiple configuration sets can be provided. In case that multiple configuration
sets are provided, the actually used configuration set is to be specified at runtime.
In many cases, the configuration parameters of one module will be of different configuration
classes.
Example: a module providing Post-build time configuration parameters will still have some
parameters that are Pre-compile time configurable.
- AUTOSAR Confidential 87
Configuration
Pre-compile time (1)
Use cases
Pre-compile time configuration would be chosen for
Enabling/disabling optional functionality
This allows to exclude parts of the source code that are not needed
Optimization of performance and code size
Using #defines results in most cases in more efficient code than
access to constants or even access to constants via pointers.
Generated code avoids code and runtime overhead.
Restrictions
The module must be available as source code
The configuration is static. To change the configuration, the module
has to be recompiled
Required implementation
Pre-compile time configuration shall be done via the modules two
configuration files (*_Cfg.h, *_Cfg.c) and/or by code generation:
*_Cfg.h stores e.g. macros and/or #defines
*_Cfg.c stores e.g. constants
- AUTOSAR Confidential 88
Nm_Cfg.c
Nm_Cfg.h
uses
(optional)
includes
Nm.c
Configuration
Link time (1)
Use cases
Link time configuration would be chosen for
Configuration of modules that are only available as object code
(e.g. IP protection or warranty reasons)
Selection of configuration set after compilation but before linking.
Required implementation
1. One configuration set, no runtime selection
Configuration data shall be captured in external constants. These external constants are
located in a separate file. The module has direct access to these external constants.
- AUTOSAR Confidential 91
Configuration
Post-build time (1)
Use cases
Post-build time configuration would be chosen for
Configuration of data where only the structure is defined but the contents not known during ECU-build time
Configuration of data that is likely to change or has to be adapted after ECU-build time
(e.g. end of line, during test & calibration)
Reusability of ECUs across different product lines (same code, different configuration data)
Restrictions
Implementation requires dereferencing which has impact on performance, code and data size
Required implementation
1. One configuration set, no runtime selection (loadable)
Configuration data shall be captured in external constant structs. These external structs are located in a separate memory
segment that can be individually reloaded.
- AUTOSAR Confidential 94
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
SW-C
Runnable
0..*
0..*
1
Task
0..*
1
Partition
OS-Application
0..*
1
0..*
BSW-Ressource
(E.g., NV-block)
0..*
1
C-Core
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
Ideal concurrency
Unrestricted resources
Only real data dependencies
Restricted concurrency
Restricted resources
Real data dependencies
Dependencies given by restrictions
Scheduling objects
Trigger
BSW Events
Sequences of scheduling objects
Scheduling Conditions
...
OS objects
Tasks
ISRs
Alarms
Resources
OS services
Sequences of scheduling objects within tasks
Sequences of tasks
...
Transformation
Mapping of scheduling objects to OS Tasks
Specification of sequences of scheduling objects within tasks
Specification of task sequences
Specification of a scheduling strategy
...
- AUTOSAR Confidential -
112
Task1 {
Zzz_MainFunction_Bbb();
Zzz_MainFunction_Bbb();
Yyy_MainFunction_Aaa();
Yyy_MainFunction_Aaa();
glue code
Xxx_MainFunction_Aaa();
Xxx_MainFunction_Aaa();
glue code
...
}
Transformation
Mapping of scheduling objects to OS Tasks
Specification of sequences of scheduling objects within tasks
Xxx_MainFunction_Bbb();
Yyy_MainFunction_Bbb();
Task3 {
...
Yyy_MainFunction_Bbb();
...
}
Transformation
Mapping of scheduling objects to OS Tasks
Access to resources by different and concurrent entities of the implemented technical architecture
(e.g., main functions and/or other functions of the same module out of different task contexts)
Xxx_Module
Xxx_MainFunction();
Yyy_ AccessResource();
XYZ resource
Yyy_MainFunction();
Yyy_Module
Transformation
Data consistency strategy to be used:
Sequence, Interrupt blocking, Cooperative Behavior,
Semaphores (OSEK Resources), Copies of ...
Xxx_Module
Xxx_MainFunction();
Yyy_ AccessResource();
XYZ resource
Yyy_MainFunction();
Task2
Transformation
Xxx_Module
Xxx_MainFunction();
Yyy_ AccessResource();
XYZ resource
Yyy_MainFunction();
Task2
Transformation
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
1
3
Application
Modes
- AUTOSAR Confidential -
2
1
3
3
BSW
Modes
1
3
Therefore:
Depending on vehicle modes, applications may be active or inactive and thus be in different
application modes.
Vice versa, the operational state of certain applications may cause vehicle mode changes.
Depending on vehicle and application modes, the BSW modes may change, e.g. the
communication needs of an application may cause a change in the BSW mode of a
communication network.
Vice versa, BSW modes may influence the modes of applications and even the whole
vehicle, e.g. when a communication network is unavailable, applications that depend on it
may change into a limp-home mode.
120
Vehicle
Modes
2
1
3
3
Mode
Request
Mode
Manager
Mode
Manager
Mode
Switch
Mode
Switch
Mode
User
Mode
User
Application Layer
RTE
Memory
Services
Communication
Services
Onboard
Dev. Abstr.
Memory
HW Abstr.
COM HW
Abstr.
Microcontroller
Drivers
Memory
Drivers
Communication
Drivers
System Services
Layer
App
I/O HW
Abstraction
I/O
Drivers
Microcontroller (C)
RTE
BSW
Mode Arbitration
Mode Control
The distribution of mode requests is performed by the RTE and the RTE also implements
the handling of mode switches.
E.g. for vehicle modes, a mode request originates from one central mode requestor SW-C
and has to be received by the BswMs in many ECUs. This is an exception of the rule that
SW-Cs may only communicate to local BSW.
- AUTOSAR Confidential 122
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
End to End
Communication
(E2E)
Application Layer
AUTOSAR Runtime Environment (RTE)
Basic Software
Diagnostic Event
Manger (Dem)
and Function
Inhibition
Manager (Fim)
Debugging
(Dbg)
ECU Hardware
Watchdog
(Wdg)
Life cycle:
development
production
- AUTOSAR Confidential -
128
After production
Problem: the error IDs passed with this API have to be ECU wide defined, have to be statically defined and have to occupy a
compact range of values for efficiency reasons. Reason: The Diagnostic Event Manager uses this ID as index for accessing
ROM arrays.
Error numbering concept: XML based error number generation
Properties:
Source and object code compatible
Single name space for all production relevant errors
Tool support required
Consecutive error numbers
Error manager can easily access ROM arrays where handling and reaction of errors is
defined
Process:
Each BSW Module declares all production code relevant error variables it needs as extern
Each BSW Module stores all error variables that it needs in the ECU configuration description (e.g. CANSM_E_BUS_OFF)
The configuration tool of the Diagnostic Event Manager parses the ECU configuration description and generates a single
file with global constant variables that are expected by the SW modules (e.g.
const Dem_EventIdType DemConf_DemEventParameter_CANSM_E_BUS_OFF=7U; or
#define DemConf_DemEventParameter_CANSM_E_BUS_OFF ((Dem_EventIdType)7))
The reaction to the errors is also defined in the Error Manager configuration tool. This configuration is project specific.
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management
pageid: 11231
Table of contents
1. Architecture
2. Configuration
3. Integration and Runtime aspects
1. Mapping of Runnables
2. Partitioning
3. Scheduling
4. Mode Management
5. Error Handling, Reporting and Diagnostic
6. Debugging
7. Measurement and Calibration
8. Functional Safety
9. Energy Management