1 - StdDiag Peer Review Checklists


Overview

Summary Sheet
Synergy Project
3rd Party Files


Sheet 1: Summary Sheet























Rev 1.019-Apr-17
Peer Review Summary Sheet


























Synergy Project Name:



Windows User: Intended Use: Identify which component is being reviewed. This should match the component short name and the middle part of the Synergy project name StdDiag
Revision / Baseline:


Windows User: Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved. StdDiag_Bac_Ar4.3.0_05.03.00_Bmw_0


























Change Owner:



Windows User: Intended Use: Identify the developer who made the change(s) being reviewed Akilan Rathakrishnan
Work CR ID:


Windows User: Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one) EA4#21732


























3rd party delivery package identifier:







Intended Use: This is a reference to the identifier of the 3rd party delivery package(s) that the component was extracted/created from. Rationale: This will allow easier tracing back to 3rd party deliveries. CBD1700369_D04_Rh850


























Windows User: Identifiy which type of 3rd party component this is so as to provide appropriate review checklist sheets Component Type:





























































































































Windows User: General section for summarizing review comments or review notes. Review Checklist Summary:


















































Comments:
































































Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:




naming convention for 3rd Party Software Components







































Project contains necessary subprojects








N/A
Comments:













































Project contains the correct version of subprojects








N/A
Comments:













































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

03/15/18
































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Rijvi Ahmed






































































Sheet 3: 3rd Party Files

Peer Review Meeting Log (3rd Party File Review)





















































Quality Check Items:






































Rationale is required for all answers of No










(e.g. component_bswmd.arxml) Component "autosar" folder contains autosar module description file from 3rd party delivery packageYes
Comments:




































(e.g. component_preo.arxml) Component "autosar" folder contains any relevant preconfiguration files from 3rd party delivery package(s)N/A
Comments:




































If needed as in the case with Renesas MCAL (e.g. MCALcomponent_bswmd_rec.arxml taken from Vector delivery) Component "autosar" folder contains any needed supplemental autosar module description file(s)N/A
Comments:




































Component "doc" folder contains all documentation related to this component from 3rd party delivery packageYes
Comments:




































Modifications from delivery to be reviewed (e.g. path changes) Component "generate" folder contains all external generation files from 3rd party delivery packageYes
Comments:




































Component "include" and "src" folder contains exact component files from 3rd party delivery packageYes
Comments:




































Component "make" folder contains any makefiles included from 3rd party delivery packageYes
Comments:




































1) All source and headers of component should be referenced in .gpj 2) Compiler settings may need to be tailored to source component (e.g. Renesas MCAL vs Vector BSWs) Component "tools" folder contains GHS project file with appropriate files referenced with appropriate compiler settingsYes
Comments:




































Should delete old existing files/directories from integration project and copy new ones into integration project May also contain logic for integrator user interaction if required. (e.g. selection of micro variant on MCAL) Component "tools" folder contains Integrate.bat with appropriate logic in it for integration into projectYes
Comments:




































For external generation and internal behavior definition for use with Vector Davinci tools. Typically only desired/needed for non-Vector developed components. This file should be copied as part of Integrate.bat. Components optionally contains settings xml file with appropriate contentsYes
Comments:




































General Notes / Comments:





























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:



























Change Owner:

Akilan Rathakrishnan


Review Date :

03/15/18

































Lead Peer Reviewer:


Kevin Smith


Approved by Reviewer(s):



Yes
































Other Reviewer(s):











































































2 - StdDiagClassic_IntegrationManual

4 - StdDiagClassic_IntegrationManuals


StdDiag Classic Integration Manual
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.4.0
Status
Release
Hotline
+49 89 382 - 32233
Contact
bac@bmw.de
https://asc.bmw.com/jira/browse/BSUP (extern)
https://asc.bmwgroup.net/jira/browse/BSUP (intern)
Revision History
Version
Date
Description
5.4.0
2017-12-14
BAC-6257: Add integration of functionality "Application Data
Transfer" (ADT)
5.3.0
2017-11-09
BAC-6249: Move SgbdIndex to adapter part and add post build
support
5.2.0
2017-10-12
Version Update
5.1.0
2017-08-10
Version Update
Company
5.0.0
2017-06-08
Initial version for SP2021
Bayerische
Motoren Werke
Aktiengesellschaft
Postal address
BMW AG
80788 München
Office address
Forschungs- und
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
Telephone
Switchboard
+49 89 382-0
Internet
www.bmwgroup.com
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 1 of 30


Table of Contents
1 Introduction
4
1.1
Functional overview
4
2 Related documentation
5
3 Limitations
6
3.1
Unreleased Dlt specification in AUTOSAR
6
4 Software Architecture
7
4.1
Dependencies on AUTOSAR modules
7
4.1.1
RTE
7
4.1.2
Det
7
4.1.3
Dcm
7
4.1.4
Dem
7
4.1.5
BswM
7
4.1.6
Dlt
7
4.1.7
EcuC
8
4.2
Dependencies to other modules
8
4.2.1
Darh
8
4.2.2
Omc
8
4.2.3
Stm
8
4.2.4
Other SWC
8
5 Integration
9
5.1
Configuration of other Modules
9
5.1.1
Dcm
9
5.1.1.1
Read Data By Identifier
9
5.1.1.2
RoutineControl
11
5.1.1.3
Service Request Manufacturer Notification
16
5.1.1.4
Service Handler for Upload Download Services
16
5.1.2
Det
17
5.1.3
Dem
17
5.1.4
BswM
17
5.1.5
EcuC
20
5.2
Configuration of generic part
20
5.2.1
StdDiagGeneral
20
5.2.1.1
StdDiagDevErrorDetect
20
5.2.1.2
StdDiagUserEstablishIntrinsicSafety
20
5.2.1.3
StdDiagUserActiveSessionState
21
5.2.2
StdDiagUserProgrammingPreconditionsCheck
21
5.2.2.1
MaxNumberUserProgrammingPrecondition
21
5.2.3
StdDiagProvideIDRL
21
5.2.3.1
DIDTableFormatIdentifier
22
5.2.3.2
IDRLClient
22
5.3
Configuration of adapter part
22
5.3.1
StdDiagGeneral
22
5.3.1.1
StdDiagClearSecondaryErrorMemory
22
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 2 of 30


5.3.2
StdDiagUserDefinedMemory
23
5.3.2.1
StdDiagUserDefinedMemoryName
23
5.3.2.2
StdDiagUserDefinedMemoryId
23
5.3.3
StdDiagSgbdIndex
23
5.3.3.1
SgbdIndex
23
5.3.4
StdDiagApplicationDataTransfer
24
5.3.4.1
ApplicationRoutineControlIdentifier
24
5.3.4.2
RoutineIdentifierValue
24
5.3.4.3
ApplicationSubRoutineControlIdentifier
24
5.3.4.4
SubRoutineIdentifierValue
24
5.3.4.5
controlIDs
24
5.3.5
StdDiagProvideDLTSupport
24
5.3.5.1
StdDiagNumberSupportedDLTLogChannels
25
5.4
Configuration of the RTE
25
5.4.1
Assembly Software Connectors
25
5.4.1.1
Dcm
25
5.4.1.2
Dem
26
5.4.1.3
Det
27
5.4.1.4
Darh
27
5.4.1.5
Omc
27
5.4.1.6
Stm
27
5.4.1.7
BswM
27
5.4.1.8
Other Application SWC
28
5.4.2
Event Mapping
29
5.4.3
Data Mapping
29
5.4.4
Exclusive Areas
29
5.5
Software Integration
29
5.5.1
Startup/Initialization
29
5.5.2
Normal Operation
29
5.5.3
Shutdown/Deactivation
29
5.5.4
Select Post Build Configuration
29
5.5.5
SWCD
30
5.5.6
Prevent sleep mode
30
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 3 of 30


1
Introduction
This Integration Manual describes the basic functionality of the BMW system function "Standard
Diagnostics" (StdDiag), the configuration of the StdDiag module and of dependant modules, and the
integration of the StdDiag module into BAC4 or aBAC.
Functional overview
The main functionality of the StdDiag module is to handling the active session states ("subsessions") of
the default diagnostic session and the extended diagnostic session. It ensures that the programming
preparation process (i.e. the transition from the diagnostic default session via the extended diagnostic
session to the programming session) is only successful, if the diagnostic requests are received in the
correct sequence and all necessary preconditions are fulfilled. It also checks whether diagnostic requests
shall be rejected or allowed in the different session states.
The StdDiag module also provides diagnostic service handlers for
clearing the secondary error memory
reading the active session state
reading the programming preconditions
reading the SGBD-Index
diagnostic communication loopback functionality
handling Diagnostic Log and Trace settings
handling IDRL basic functionality
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 4 of 30


2
Related documentation
References
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 5 of 30


3
Limitations
Unreleased Dlt specification in AUTOSAR
StdDiag optionally uses services of the AUTOSAR BSW module Dlt (Diagnostic Log and Trace). The
specification of the ClientServer-Interface "DLTService", which provides the services used by StdDiag, is
released with AUTOSAR 4.3.0. As required in the document "AUTOSAR features for SP2021", projects
using Dlt shall support Dlt based on AUTOSAR 4.3.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 6 of 30


4
Software Architecture
Dependencies on AUTOSAR modules
The current version of the Module StdDiag depends on the following BSW modules:
RTE
As a software component, the StdDiag module uses Rte client/server and sender/receiver communication
to communicate with other SWCs and BSW modules.
Det
StdDiag optionally reports development errors to the Det.
Dcm
StdDiag is tightly coupled with the Dcm. The StdDiag implements several RDBI/WDBI and RC services,
as well as services for upload download functionality. Dcm shall be configured in a way, that it dispatches
theses jobs to the StdDiag SWC. In addition, the StdDiag requests information about the current
diagnostic session.
Moreover the StdDiag receives information about incoming requests and the corresponding result of the
request via a Manufacturer Notification. The StdDiag uses this feature to accept / deny a number of
requests, and to handle the active session state.
Dem
StdDiag sets an EnableCondition to allow / deny writing of error entries and clears DTCs in the secondary
error memory.
BswM
StdDiag receives and requests mode switches from the BswM to switch the current StdDiag operational
mode. It further requests Communication Control mode switches, and receives a mode switch from the
BswM when the active diagnostic session has changed.
Dlt
StdDiag optionally receives diagnostic requests for Diagnostic Log and Trace control and forwards them
to the Dlt service interface.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 7 of 30


EcuC
StdDiag provides post build configurable parameters. If post build support is used, an EcuC configuration
is needed to evaluate available variants.
Dependencies to other modules
Darh
The StdDiag suspends / resumes sending Response on Events.
Omc
The StdDiag needs the current operating mode and extended operating mode from the Omc module. In
addition, StdDiag provides a handler to allow / deny changing the operating mode.
Stm
The StdDiag reads the current PWF state from the Stm.
Other SWC
The StdDiag optionally calls another Application Software Component to establish intrinsic safety and to
check the users programming preconditions.
The StdDiag optionally calls another Application Software Component to get the active session state in
Sessions that have their own active session handling.
The StdDiag calls another Application Software Component (e.g. PiaClient) to read, write or reset the
individual data, if the feature "Individual Data Recovery Light" (IDRL) is activated.
The StdDiag calls another Application Software Component (e.g. Bs) to upload or download application
data, if the feature "Application Data Transfer" (ADT) is activated.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 8 of 30


5
Integration
Configuration of other Modules
The following modules shall be configured, before this module can be generated, compiled and linked.
Dcm
Read Data By Identifier
The following RDBI-requests shall be configured in the Dcm module:
Read Active Session State (0x22 0xF1 0x00)
[IM_StdDiagClassic_0007] dThe following parameters have to be configured: c(FL896, FL897,
FL898, FL899)

a container "DcmDspData" with
a "DcmDspDataSize" of 32 bit (4 bytes)
"DcmDspDataType" = UINT8_N
"DcmDspDataUsePort" = USE_DATA_SYNCH_CLIENT_SERVER
"DcmDspDataConditionCheckReadFncUsed" = TRUE
a container "DcmDspDid" with
"DcmDspDidIdentifier" = 0xF100
only read-access, without session or security restrictions
one DID Signal "DcmDspDidSignal" with Data Position = 0 and a Data Reference to the
"DcmDspData" container configured before.
Read SGBD Index (0x22 0xF1 0x50)
[IM_StdDiagClassic_0006] dThe following parameters have to be configured: c(DK_T3_318)
a container "DcmDspData" with
a "DcmDspDataSize" of 24 bit (3 bytes)
"DcmDspDataType" = UINT8_N
"DcmDspDataUsePort" = USE_DATA_SYNCH_CLIENT_SERVER
"DcmDspDataConditionCheckReadFncUsed" = FALSE
a container "DcmDspDid" with
"DcmDspDidIdentifier" = 0xF150
only read-access, without session or security restrictions
one DID Signal "DcmDspDidSignal" with Data Position = 0 and a Data Reference to the
"DcmDspData" container configured before.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 9 of 30


Read Individual Data Identifier Table (0x22 0x17 0x34)
This request is needed, if the configuration container "StdDiagProvideIDRL" is available. The response to
this request contains the table format identifier (2 byte) and the individual data IDs that are configured in
the parameter "DIDValue" of the StdDiag configuration. The response has a fixed length that is calculated
with the lengths of the table format and of the individual data IDs.
[IM_StdDiagClassic_0008] dThe following parameters have to be configured: c(ADUE_3927,
ADUE_3929)

a container "DcmDspData" with
a "DcmDspDataSize": 16 bit for the format identifier plus 16 bit for each configured individual data ID.
"DcmDspDataType" = UINT8_N
"DcmDspDataUsePort" = USE_DATA_SYNCH_CLIENT_SERVER
"DcmDspDataConditionCheckReadFncUsed" = FALSE
a container "DcmDspDid" with
"DcmDspDidIdentifier" = 0x1734
only read-access, only allowed in extended diagnostic session
one DID Signal "DcmDspDidSignal" with Data Position = 0 and a Data Reference to the
"DcmDspData" container configured before.
Note: If IDRL clients with individual data IDs are configured (see parameter "DIDValue"), the user shall
configure the following for each individual data ID:
a container "DcmDspData" describing the individual data with
a "DcmDspDataSize": the maximum length of the individual data in bit (see parameter
"MaxDataSize").
"DcmDspDataType" = UINT8_DYN
"DcmDspDataUsePort" = USE_DATA_ASYNCH_CLIENT_SERVER
"DcmDspDataConditionCheckReadFncUsed" = TRUE
a container "DcmDspDid" with
"DcmDspDidIdentifier" is the individual data ID "DIDValue" configured in the DID table of the StdDiag.
read/write-access, only allowed in extended diagnostic session
one DID Signal "DcmDspDidSignal" with Data Position = 0 and a Data Reference to the
"DcmDspData" container configured before.
Read log channel names for Dlt (0x22 0x18 0x28)
[IM_StdDiagClassic_0017] dThis request is only needed, if the configuration container
"StdDiagProvideDLTSupport" is available. The response to this request contains the log channel names
supported by Dlt module. The response has a fix length that is derived from the number of configured log
channels in the Dlt.
The following parameters have to be configured: c(DK_T3_1637, DK_T3_1639)
a container "DcmDspData" with
a "DcmDspDataSize": 32 bit for each configured DLT Log Channel.
"DcmDspDataType" = UINT8_N
"DcmDspDataUsePort" = USE_DATA_SYNCH_CLIENT_SERVER
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 10 of 30


"DcmDspDataConditionCheckReadFncUsed" = FALSE
a container "DcmDspDid" with
"DcmDspDidIdentifier" = 0x1828
only read-access, without session or security restrictions
one DID Signal "DcmDspDidSignal" with Data Position = 0 and a Data Reference to the
"DcmDspData" container configured before.
RoutineControl
The following RoutineControl-requests shall be configured in the Dcm module:
Diagnostic Communication Loopback (0x31 0x01 0x03 0x03)
[IM_StdDiagClassic_0004] dThis request has a variable request length and a variable response length.
The following parameters have to be configured: c(DK_T3_792, DK_T3_799, DK_T3_800)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x0303
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" with
∗ "DcmDspRoutineSignalLength" = max. diagnostic buffer size (e.g. 8192 bits)
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = VARIABLE_LENGTH
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineOut" with
a "StartRoutineOutSignal" with
∗ "DcmDspRoutineSignalLength" = max. diagnostic buffer size (e.g. 8192 bits)
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = VARIABLE_LENGTH
[IM_StdDiagClassic_0003] dNote: According to the "LH Diagnose Part 3" this request shall handle a
variable data length in a range from 0 bytes up to the maximum length that the diagnostic buffer can
handle. In this example configuration the value is set to 1024 bytes (8192 bits). c(DK_T3_794)
Check Programming Preconditions (0x31 0x01 0x02 0x03)
[IM_StdDiagClassic_0019] dThis request has no input signals, and a variable response length.
Therefore, it is sufficient to configure only an Out-Signal, but no In-Signal: c(FL1082, FL1083)
[IM_StdDiagClassic_0001] dThis request shall be available in all sessions. c(FL194)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x0203
"DcmDspRoutineUsePort" = TRUE
a reference to "DcmDspCommonAuthorization" which references all (or none) diagnostic sessions
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineOut" with
a "StartRoutineOutSignal" with
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 11 of 30


∗ "DcmDspRoutineSignalLength" = 8 bit for each programming precondition specified for the ECU
(max. 255 preconditions, i.e. 2048 bits)
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = VARIABLE_LENGTH
Reset individual data (0x31 0x01 0x10 0x1A)
[IM_StdDiagClassic_0009] dThis request is supported, if the configuration container
"StdDiagProvideIDRL" is available. The request has no input signals, and a fixed response length. The
response contains the routine result (1 byte). If all resets of individual data are successful, the routine
result is 0x00. Otherwise, the routine result is 0x01. Therefore, it is sufficient to configure only an
Out-Signal, but no In-Signal: c(ADUE_3981, ADUE_3982)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x101A
"DcmDspRoutineUsePort" = TRUE
a reference to "DcmDspCommonAuthorization" with a reference to the extended diagnostic session
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineOut" with
a "StartRoutineOutSignal" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT8
Clear DTCs Secondary Error Memory (0x31 0x01 0x0F 0x06)
[IM_StdDiagClassic_0005] dThis diagnostic request has to be configured only, if the ECU supports
DTCs in the secondary error memory. The configuration container StdDiagClearSecondaryErrorMemory
has to be available. This request has no input signals and no output signals.
The following parameters have to be configured: c(DK_T3_862, DK_T3_863, DK_T3_864, DK_T3_865)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x0F06
"DcmDspRoutineUsePort" = TRUE
no further sub-containers configured
Upload/Download Pre/Post-Processing (0x31 0x01 0x70 0x00)
[IM_StdDiagClassic_0023] dThis request is supported, if the configuration container
"StdDiagApplicationDataTransfer" is available. The request has a variable request length, and a fixed
response length. The response contains the routine result (1 byte): c(ADUE_2773, ADUE_2774,
ADUE_3618)

a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x7000
"DcmDspRoutineUsePort" = TRUE
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 12 of 30


a reference to "DcmDspCommonAuthorization" with a reference to the extended diagnostic session,
but no reference to default or programming session
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "Data" with
∗ "DcmDspRoutineSignalLength" = 64 bit - 2184 bit (see note below)
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = VARIABLE_LENGTH
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineOut" with
a "StartRoutineOutSignal" named "Result" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT8
Note: Request data consists of 3 byte fix + size of memoryObjectIdentifier + size of
applicationSpecificParameter. According to "LH Applikationsdatenuebertragung" the
memoryObjectIdentifier size is in range 5 byte to 15 byte, applicationSpecificParameter size is in range 0
byte to 255 byte. So minimum value for "DcmDspRoutineSignalLength" is 64 bit (8 byte), maximum value
is 2184 bit (273 byte).
Note: This RoutineControl (RID 0x7000) is a common job for all ADT clients. "LH
Applikationsdatenuebertragung" requires further Routine Control jobs for each application specific
routine control identifier. These jobs are not part of StdDiag.
Set log level for Dlt (0x31 0x01 0x10 0x90)
[IM_StdDiagClassic_0010] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1583, DK_T3_1586)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1090
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "applicationId" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT32
a "StartRoutineInSignal" named "contextId" with
∗ "DcmDspRoutineSignalPos" = 32
∗ "DcmDspRoutineSignalType" = UINT32
a "StartRoutineInSignal" named "newLogLevel" with
∗ "DcmDspRoutineSignalPos" = 64
∗ "DcmDspRoutineSignalType" = UINT8
Reset Dlt to default configuration (0x31 0x01 0x10 0x91)
[IM_StdDiagClassic_0011] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has neither input nor output signals.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 13 of 30


The following parameters have to be configured: c(DK_T3_1590, DK_T3_1592)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1091
"DcmDspRoutineUsePort" = TRUE
no further sub-containers configured
Set message filtering state for Dlt (0x31 0x01 0x10 0x92)
[IM_StdDiagClassic_0012] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1596, DK_T3_1599)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1092
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "newFilterStatus" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT8
Set log channel threshold for Dlt (0x31 0x01 0x10 0x93)
[IM_StdDiagClassic_0022] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1603, DK_T3_1606)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1093
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "logChannelName" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT32
a "StartRoutineInSignal" named "newLogLevelThreshold" with
∗ "DcmDspRoutineSignalPos" = 32
∗ "DcmDspRoutineSignalType" = UINT8
a "StartRoutineInSignal" named "newTraceStatus" with
∗ "DcmDspRoutineSignalPos" = 40
∗ "DcmDspRoutineSignalType" = UINT8
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 14 of 30


Store Dlt configuration persistently (0x31 0x01 0x10 0x94)
[IM_StdDiagClassic_0013] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has neither input nor output signals.
The following parameters have to be configured: c(DK_T3_1610, DK_T3_1612)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1094
"DcmDspRoutineUsePort" = TRUE
no further sub-containers configured
Set trace state for Dlt (0x31 0x01 0x10 0x95)
[IM_StdDiagClassic_0014] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1616, DK_T3_1619)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1095
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "applicationId" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT32
a "StartRoutineInSignal" named "contextId" with
∗ "DcmDspRoutineSignalPos" = 32
∗ "DcmDspRoutineSignalType" = UINT32
a "StartRoutineInSignal" named "newTraceStatus" with
∗ "DcmDspRoutineSignalPos" = 64
∗ "DcmDspRoutineSignalType" = UINT8
Set default log level for Dlt (0x31 0x01 0x10 0x96)
[IM_StdDiagClassic_0015] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1623, DK_T3_1626)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1096
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "newDefaultLogLevel" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT8
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 15 of 30


Set default trace state for Dlt (0x31 0x01 0x10 0x97)
[IM_StdDiagClassic_0016] dThis request is only supported, if the configuration container
"StdDiagProvideDLTSupport" is available. The request has only input signals, and a fixed request length.
The following parameters have to be configured: c(DK_T3_1630, DK_T3_1633)
a container "DcmDspRoutine" with
"DcmDspRoutineIdentifier" = 0x1097
"DcmDspRoutineUsePort" = TRUE
a subcontainer "DcmDspStartRoutine" and "DcmDspStartRoutineIn" with
a "StartRoutineInSignal" named "newDefaultTraceStatus" with
∗ "DcmDspRoutineSignalPos" = 0
∗ "DcmDspRoutineSignalType" = UINT8
Service Request Manufacturer Notification
A StdDiag Service Request Manufacturer Notification shall be configured in the container
"DcmDsdServiceRequestManufacturerNotification". The Mapping to the StdDiag module is done by
connecting the corresponding ports.
Service Handler for Upload Download Services
To implement the functionality "Application Data Transfer" (ADT, german
"Applikationsdatenuebertragung, ADUE) (see LH "Applikationsdatenuebertragung"), the UDS Services
0x34 (RequestDownload), 0x35 (RequestUpload), 0x36 (TransferData) and 0x37 (RequestTransferExit)
are necessary. For these services AUTOSAR Dcm basically provides callouts like
"Dcm_ProcessRequestDownload" and "Dcm_WriteMemory", which has two constraints: The parameter
MemoryAddress within these APIs is of type uint32, i.e. values are restricted to 4 bytes. ADT needs at
least 5 byte for the memory object identifier, which is ISO-14229 compliant. Furthermore Dcm currently
only provides C-API callouts, but no Service Interface. For these reasons StdDiag requires the following
configuration:
configure container "DcmDspService" for service "RequestDownload" with
"DcmDsdSidTabServiceId" = 0x34
"DcmDsdSidTabSubfuncAvail" = 0
"DcmDsdSidTabFnc" = StdDiag_RequestDownload
configure container "DcmDspService" for service "RequestUpload" with
"DcmDsdSidTabServiceId" = 0x35
"DcmDsdSidTabSubfuncAvail" = 0
"DcmDsdSidTabFnc" = StdDiag_RequestUpload
configure container "DcmDspService" for service "TransferData" with
"DcmDsdSidTabServiceId" = 0x36
"DcmDsdSidTabSubfuncAvail" = 0
"DcmDsdSidTabFnc" = StdDiag_TransferData
configure container "DcmDspService" for service "RequestTransferExit" with
"DcmDsdSidTabServiceId" = 0x37
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 16 of 30


"DcmDsdSidTabSubfuncAvail" = 0
"DcmDsdSidTabFnc" = StdDiag_RequestTransferExit
Det
A StdDiag entry shall be added to the Software Component List from Det. This is only necessary, if the
parameter "StdDiagDevErrorDetect" is set to "true".
Dem
[IM_StdDiagClassic_0002] dIn the container "DemEnableCondition" a new Enable Condition has to
be configured (StdDiag Enable Condition). This Enable condition has to be referenced by each Enable
Condition Group configured in the container "DemEnableConditionGroup". In addition, each configured
Event ("DemEventParameter") has to refer to an Enable Condition Group
("DemEnableConditionGroupRef") in its Event Class ("DemEventClass"). c(FL257)
Exceptions: The Events related to the DTCs "CODING_EVENT_NOT_CODED" (see
IntegrationManual_Coding.pdf) and "Energy saving mode active" (see IntegrationManual_Omc.pdf) shall
not be locked by the StdDiag Enable Condition. These Events shall refer to either no Enable Condition
Group, or to an Enable Condition Group that does not include the StdDiag Enable Condition.
BswM
The following BswMModeRequestPorts have to be configured in the BswM:
Port_StdDiag_LifeCycle
This port shall have a BswMModeRequestSource of type "BswMSwcModeNotification", and receives
mode switch notifications of the ModeDeclarationGroup "StdDiag_LifeCycle" from the StdDiag module.
Port_StdDiag_ComControlModeRequest
This port shall have a BswMModeRequestSource of type "BswMSwcModeRequest", and receives mode
requests of the ModeDeclarationGroup "StdDiag_NormalCommunicationModeGroup" from the StdDiag
module.
Port_Dcm_CommunicationControl
This port shall have a BswMModeRequestSource of type "BswMDcmComModeRequest", and shall
receive the current communication mode of the ModeDeclarationGroup
"Dcm_CommunicationControl_<Channel>" defined by the Dcm.
Port_Dcm_SessionControl
This port shall have a BswMModeRequestSource of type "BswMSwcModeNotification", and shall receive
the current diagnostic session of the ModeDeclarationGroup "Dcm_DiagnosticSessionControl" defined
by the Dcm.
The following BswMRteModeRequestPort have to be configured in the BswM:
StdDiagLifeCycleRequestPort
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 17 of 30


To request modes of the ModeDeclarationGroup "StdDiag_LifeCycle", this port shall have a
BswMRteModeRequestPortInterfaceRef to the variable data prototype "requestMode" related to the Port
"LifeCycle" of the StdDiag module.
The following BswMSwitchPorts have to be configured in the BswM:
StdDiagSessionChangeIndicationPort
To switch modes of the ModeDeclarationGroup "StdDiag_SessionModeGroup", this port shall have a
BswMModeSwitchInterfaceRef to the ModeSwitchInterface "SessionChangeIndicationInterface" of the
StdDiag module.
StdDiagComControlNormalNotificationPort
To switch modes of the ModeDeclarationGroup "StdDiag_NormalCommunicationModeGroup", this port
shall have a BswMModeSwitchInterfaceRef to the ModeSwitchInterface
"ComControlNormalNotificationInterface" of the StdDiag module.
The following Rules have to be configured in the BswM:
LifeCycle handling:
To initialize the StdDiag module the BswM has to provide a rule, that results in an action that requests the
mode "STDDIAG_INITIALIZED" of the mode declaration group "StdDiag_LifeCycle".
To set the StdDiag module to normal operation mode the BswM has to provide a rule, that results in an
action that requests the mode "STDDIAG_RUNNING" of the mode declaration group
"StdDiag_LifeCycle". This rule is triggered by a mode switch to the mode "STDDIAG_INITIALIZED" by
the StdDiag module itself. When the StdDiag module is in normal operation mode, the StdDiag module
switches the mode to "STDDIAG_RUNNING".
To deactivate the StdDiag module the BswM has to provide a rule, that results in an action that requests
the mode "STDDIAG_STOPPED" of the mode declaration group "StdDiag_LifeCycle".
For details on how to initialize / deactivate the StdDiag module, please refer to chapter 5.5.
Diagnostic Session handling:
To notify the StdDiag module when the DefaultSession is entered, the BswM has to provide a rule, that
results in an action that switches the mode of the mode declaration group "StdDiag_SessionModeGroup"
to "STDDIAG_DEFAULT_SESSION" via BswMSwitchPort "StdDiagSessionChangeIndicationPort" (see
above), when the Dcm module indicates a mode switch of the mode declaration group
"DcmDiagnosticSessionControl" to "DefaultSession" via BswMModeRequestPort
"Port_Dcm_SessionControl".
To notify the StdDiag module when the DefaultSession is left, the BswM has to provide a rule, that results
in an action that switches the mode of the mode declaration group "StdDiag_SessionModeGroup" to
"STDDIAG_OTHER_SESSION" via BswMSwitchPort "StdDiagSessionChangeIndicationPort" (see
above), when the Dcm module indicates a mode switch of the mode declaration group
"DcmDiagnosticSessionControl" to any other than the "DefaultSession" via BswMModeRequestPort
"Port_Dcm_SessionControl".
Communication Control handling:
To notify the StdDiag module about a change of the normal communication mode, the BswM has to
provide rules that result in actions that switch the corresponding mode of the mode declaration group
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 18 of 30


"StdDiag_NormalCommunicationModeGroup" via BswMSwitchPort
"StdDiagComControlNormalNotificationPort" (see above).
These rules have to be triggered either when the Dcm switches the mode of the mode declaration group
"DcmCommunicationControl_<Channel>", or when the StdDiag module itself requests a mode of the
mode declaration group "StdDiag_NormalCommunicationModeGroup".
(Note: These rules also have to result in actions that enable / disable the corresponding Pdu-Groups)
To achieve a correct combination of the two request sources StdDiag and Dcm, the following four rules
should be configured:
BswMRule_ComControl_Enable_Rx_Enable_Tx
if ( (LogEx_Enable_Rx == TRUE) && (LogEx_Enable_Tx == TRUE))
{
Switch StdDiagComControlNormalNotificationPort to ENABLE_RX_AND_TX_NORMAL
}
BswMRule_ComControl_Enable_Rx_Disable_Tx
if ( (LogEx_Enable_Rx == TRUE) && (LogEx_Disable_Tx == TRUE))
{
Switch StdDiagComControlNormalNotificationPort to ENABLE_RX_DISABLE_TX_NORMAL
}
BswMRule_ComControl_Disable_Rx_Enable_Tx
if ( (LogEx_Disable_Rx == TRUE) && (LogEx_Enable_Tx == TRUE))
{
Switch StdDiagComControlNormalNotificationPort to DISABLE_RX_ENABLE_TX_NORMAL
}
BswMRule_ComControl_Disable_Rx_Disable_Tx
if ( (LogEx_Disable_Rx == TRUE) && (LogEx_Disable_Tx == TRUE))
{
Switch StdDiagComControlNormalNotificationPort to DISABLE_RX_AND_TX_NORMAL
}
The corresponding locigal expressions are defined as follows:
Both StdDiag and Dcm allow to enable Rx:
LogEx_Enable_Rx = (LogEx_Enable_Rx_StdDiag) && (LogEx_Enable_Rx_Dcm)
Both StdDiag and Dcm allow to enable Tx:
LogEx_Enable_Tx = (LogEx_Enable_Tx_StdDiag) && (LogEx_Enable_Tx_Dcm)
Either StdDiag or Dcm want to disable Rx:
LogEx_Disable_Rx = !((LogEx_Enable_Rx_StdDiag) && (LogEx_Enable_Rx_Dcm))
Either StdDiag or Dcm want to disable Tx:
LogEx_Disable_Tx = !((LogEx_Enable_Tx_StdDiag) && (LogEx_Enable_Tx_Dcm))
LogEx_Enable_Rx_StdDiag =
Port_StdDiag_ComControlModeRequest == ENABLE_RX_AND_TX_NORMAL ||
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 19 of 30


Port_StdDiag_ComControlModeRequest == ENABLE_RX_DISABLE_TX_NORMAL
LogEx_Enable_Rx_Dcm =
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_TX_NORM ||
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_DISABLE_TX_NORM ||
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_TX_NORM_NM ||
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_DISABLE_TX_NORM_NM
LogEx_Enable_Tx_StdDiag =
Port_StdDiag_ComControlModeRequest == ENABLE_RX_AND_TX_NORMAL ||
Port_StdDiag_ComControlModeRequest == DISABLE_RX_ENABLE_TX_NORMAL
LogEx_Enable_Tx_Dcm =
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_TX_NORM ||
Port_Dcm_CommunicationControl == DCM_DISABLE_RX_ENABLE_TX_NORM ||
Port_Dcm_CommunicationControl == DCM_ENABLE_RX_TX_NORM_NM ||
Port_Dcm_CommunicationControl == DCM_DISABLE_RX_ENABLE_TX_NORM_NM
EcuC
If post build support is needed, the EcuC configuration shall provide a collection of toplevel
PostBuildSelectable variants in containers "EcucPostBuildVariants". These containers shall refer to
predefined variants, which in turn refer to post build variant criterion value sets. During the generation
process, PAGe evaluates all available variants whether the criterion value matches the value given in the
variation point of the post build selectable configuration parameter.
Configuration of generic part
StdDiagGeneral
This container contains the configuration parameters of the generic part of the StdDiag module
StdDiagDevErrorDetect
This parameter activates/deactivates the Development Error Detection and Notification.
If set to true: Development Error Detection and Notification is activated.
If set to false: Development Error Detection and Notification is deactivated.
StdDiagUserEstablishIntrinsicSafety
[IM_StdDiag_0001] dDuring UDS Routine Service 0x31 01 0F 0C 03 (set EnergyMode = Flash) an
ECU shall establish intrinsic safety. StdDiag checks whether the PWF status is
"PruefenAnalyseDiagnose", which is mandatory for all ECUs. During UDS Routine Service 0x31 01 0F 0C
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 20 of 30


00 (set EnergyMode = Normal), if flash mode was active before, an ECU shall revert all actions taken to
establish intrinsic safety. If there are more actions to be taken by the ECU to establish or revert intrinsic
safety, this parameter has to be set to "true". c(FL215, FL216, FL217, FL283, FL284, FL285)
If set to true: StdDiag calls a user specific function to establish or revert intrinsic safety.
If set to false: StdDiag only checks for correct PWF state.
StdDiagUserActiveSessionState
The positive response on UDS service 0x22 F1 00 provides the active session state in its second byte.
StdDiag provides the active session state within the application default session and the application
extended diagnostic session. For all other sessions StdDiag sets the active session state to "0", or
optionally calls a user specific application that provides this information.
If set to true: StdDiag call a user specific function that provides the active session state.
If set to false: StdDiag uses the default value "0" for the active session state.
StdDiagUserProgrammingPreconditionsCheck
[IM_StdDiag_0002] dTo evaluate EUC specific programming preconditions, StdDiag optionally
provides a callout to a user specific application. If an ECU has to evaluate programming preconditions, the
integrator shall provide this configuration container and configure its parameters. This container defines
whether a user specific function for checking additional programming preconditions is used. c(FL191,
FL193)

MaxNumberUserProgrammingPrecondition
This parameter defines the maximum number of failed user programming preconditions.
StdDiagProvideIDRL
This configuration container defines if the StdDiag module shall provide the IDRL feature.
Container is available: StdDiag provides the IDRL feature Container is not available: StdDiag does not
provide the IDRL feature
If this container is available, the following parameters and subcontainers, which are part of this container,
shall be configured.
The user has at least to configure the format identifier of the DID table.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 21 of 30


DIDTableFormatIdentifier
This parameter defines the format identifier of the individual DID table. According to LH ADUE this
parameter has to be set to 0x0001.
IDRLClient
This container defines the name of an application software component that implements an IDRL client,
i.e. that provides individual data. This container has a subcontainer IndivData. This container shall be
configured once for each application component implementing an IDRL client.
IndivData
The container IndivData defines the individual data of an IDRL client. The configured name of this
container represents a symbolic name for the individual data. This container has a configuration
parameter DIDValue.
DIDValue
Each individual data has a 2 bytes data identifier. This identifier shall be configured in parameter DIDValue.
MaxDataSize
This parameter defines the maximum size of individual data for the corresponding DIDValue.
Configuration of adapter part
StdDiagGeneral
This container contains the configuration parameters of the classic adapter of the StdDiag module.
StdDiagClearSecondaryErrorMemory
This parameter defines if the StdDiag module provides a service handler to clear the secondary error
memory via the UDS service 0x31 01 0F 06. true: StdDiag provides a service handler false: StdDiag does
not provide a service handler
If the ECU supports DTCs in the secondary error memory, this parameter shall be set to "true", and the
following configuration container "StdDiagUserDefinedMemory" as well as the two parameters, which are
part of this container, shall be configured.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 22 of 30


StdDiagUserDefinedMemory
This configuration container and the parameters within this container have to be configured, if the
parameter "StdDiagClearSecondaryErrorMemory" is set to 'true'
StdDiagUserDefinedMemoryName
This string parameter shall be set to the short-name of the Dem configuration container
DemUserDefinedMemory, which represents the secondary error memory. To clear the secondary error
memory, StdDiag calls the operation "ClearDTC" of the Interface "CddIf" with Parameter "DTCOrigin" set
to "DEM_DTC_ORIGIN_USERDEFINED_MEMORY_XX", where "XX" is the short-name of
DemUserDefinedMemory. StdDiag uses the parameter "StdDiagUserDefinedMemoryName" to replace
"XX" here.
StdDiagUserDefinedMemoryId
This parameter shall be set to the value of "Dem_DTCOriginType" (i.e. the value of the compu-scale
"DEM_DTC_ORIGIN_USERDEFINED_MEMORY_XX"), which represents the secondary error memory.
Basically this is the value of the Dem parameter "DemUserDefinedMemoryIdentifier". According to
AUTOSAR 4.2.2 the value of the Dem parameter is restricted to a range 16..255. As BMW requires a
value of 0x01 for the parameter "MemorySelection" of UDS-Service 0x19 with subfunctions 0x17, 0x18
or 0x19, some Stack vendors might provide different workarounds to realize this. StdDiag provides the
configuration parameter "StdDiagUserDefinedMemoryId" to configure the value of the compu-scale
"DEM_DTC_ORIGIN_USERDEFINED_MEMORY_XX" according to the stack specific implementation.
With RfC70370 the range of "DemUserDefinedMemoryIdentifier" will be changed to 0..255.
StdDiagSgbdIndex
[IM_StdDiagClassic_0020] dThis container defines the SGBD-Index which is read out by UDS service
0x22 F1 50. c(DK_T3_312, DK_T3_316)
SgbdIndex
[IM_StdDiagClassic_0021] dThis parameter shall be set to the value of the SGBD-Index. This value
shall be in range 0x000000 to 0xFFFFFF. c(DK_T3_312, DK_T3_316)
Note: The parameter "SgbdIndex" is post build configurable. If a post build selectable SgbdIndex is
needed, the parameter "SgbdIndex" shall be configured once for each variant. Each instance of
"SgbdIndex" shall have a variation point with a post build variant condition, that specifies the necessary
value of the corresponding post build variant criterion.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 23 of 30


StdDiagApplicationDataTransfer
This configuration container and its parameters and subcontainers has to be configured to enable
functionality application data transfer (ADT). ADT is necessary to support e.g. certificate and key
managemet of system function "Basic Security" (BS).
ApplicationRoutineControlIdentifier
This configuration container shall exist for each supported applicationRoutineControlIdentifier.
RoutineIdentifierValue
This parameter shall be set to the value of the applicationRoutineControlIdentifier (e.g. 0x10AA for BS).
ApplicationSubRoutineControlIdentifier
This configuration container shall exist for each supported applicationSubRoutineControlIdentifier. If no
applicationSubRoutineControlIdentifier is needed, this container shall be configured anyway, and
parameter SubRoutineIdentifierValue shall be set to 0x0000.
SubRoutineIdentifierValue
This parameter shall be set to the value of the applicationSubRoutineControlIdentifier (e.g. 0x0000 for
BS).
controlIDs
This parameter has a multiplicity of 1..n. For each cntrlID of the corresponding combination
applicationRoutineControlIdentifier/applicationSubRoutineControlIdentifier one instance of this parameter
shall exist, and shall be set to the value of the cntrlID (e.g. one instance with value 0x00 for BS).
StdDiagProvideDLTSupport
This configuration container defines if the StdDiag module shall provide the implementation for BMW
specific support of Diagnostic Log and Trace (DLT).
container is available: StdDiag provides the DLT feature container is not available: StdDiag does not
provide the DLT feature
If this container is available, the following parameter, which is part of this container, shall be configured.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 24 of 30


StdDiagNumberSupportedDLTLogChannels
This parameter defines the number of supported DLT log channels. This has to be equal to the number
of DltLogChannel containers in Dlt module configuration.
Configuration of the RTE
After performing the steps indicated in chapters 5.1, 5.2 and 5.3, the RTE configuration can be started. In
other way, the RTE will report an interface incompatibility error.
Assembly Software Connectors
The ports of the StdDiag module have to be connected with ports of other modules as follows:
Dcm
ActiveSessionState <-> DataServices_<Data>
where <Data> is the name of the corresponding container "DcmDspData" describing the active Session
State configured in the Dcm module according to chapter 5.1.1.
SgbdIndex <-> DataServices_<Data>
where <Data> is the name of the corresponding container "DcmDspData" describing the SGBD Index
configured in the Dcm module according to chapter 5.1.1.
DiagCommLoopback <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1.
CheckProgrammingPreconditions <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1.
ClearSecondaryErrorMemory <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1. (Only necessary when configuration container
"StdDiagClearSecondaryErrorMemory" is available, see chapter 5.3.)
ServiceRequestManufacturerNotificationPort <-> ServiceRequestNotification_<Name>
where <Name> is the name of the corresponding container
"DcmDslServiceRequestManufacturerNotification" configured in the Dcm module according to chapter
5.1.1.
DCMServicesPort <-> DCMServices
If the configuration container "StdDiagProvideIDRL" is available (see chapter 5.2), the following ports of
the StdDiag module have to be connected with the ports of DCM as follows:
IdrlDidTable <-> DataServices_<Data>
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 25 of 30


where <Data> is the name of the corresponding container "DcmDspData" configured in the Dcm module
according to chapter 5.1.1.
ResetIdrlData <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1.
If the configuration container "StdDiagProvideIDRL" is available, and the IDRL clients and the individual
data IDs are also configured (see chapter 5.2), the following ports of the StdDiag module have to be
connected with the ports of DCM as follows:
IdrlData<IDRLClient><DID> <-> DataServices_<Data>
where <IDRLClient> is the name of an IDRL client configured in container IDRLClient, <DID> is the
symbolic name of the individual data configured in container IndivData, and <Data> is the name of the
corresponding container "DcmDspData" configured in the Dcm module according to Note of chapter
5.1.1.
If the configuration container "StdDiagApplicationDataTransfer" is available (see chapter 5.3), the
following port of the StdDiag module has to be connected with the port of DCM as follows:
UpDownloadPrePostProcessingPort <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1.
If the configuration container "StdDiagProvideDLTSupport" is available (see chapter 5.3), the following
ports of the StdDiag module have to be connected with the ports of DCM as follows:
DltReadLogChannelNames <-> DataServices_<Data>
where <Data> is the name of the corresponding container "DcmDspData" configured in the Dcm module
according to chapter 5.1.1.
DltSetLoglevel <-> RoutineServices_<Routine>
DltResetToDefault <-> RoutineServices_<Routine>
DltSetMessagefilteringstate <-> RoutineServices_<Routine>
DltSetLogchannelThreshold <-> RoutineServices_<Routine>
DltStoreConfiguration <-> RoutineServices_<Routine>
DltSetTracestate <-> RoutineServices_<Routine>
DltSetDefaultLoglevel <-> RoutineServices_<Routine>
DltSetDefaultTracestate <-> RoutineServices_<Routine>
where <Routine> is the name of the corresponding container "DcmDspRoutine" configured in the Dcm
module according to chapter 5.1.1.
Dem
EnableConditionPort <-> EnableCond_<Name>
where <Name> is the name of the corresponding container "DemEnableCondition" configured in the
Dem module according to chapter 5.1.3.
ClearDTCPort<-> Dem_Cdd
(Only necessary when configuration container "StdDiagClearSecondaryErrorMemory" is available, see
chapter 5.3)
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 26 of 30


Det
ReportErrorPort <-> DS<xxx>
where <xxx> is an identifier of the StdDiag configured in the Det module (see chapter 5.1.2).
Darh
RoEStatePort <-> RoeStatePort
Omc
OperatingModeControlPort <-> operatingModeSwitchPort
ExtendedOperatingModeControlPort <-> extendedOperatingModeSwitchPort
AllowOpModeChangePort <-> StdDiag AllowOpModeChangeCbkPort <-> StdDiagCbk

Stm
VehicleStatePort <-> VehicleStateSP2015ModeSwitchPort
BswM
LifeCycle <-> BswMModeRequestPort_xxx
where BswMModeRequestPort_xxx means the R-Port of the BswM that receives a mode switch of the
ModeDeclarationGroup "StdDiag_LifeCycle" from the StdDiag module. (see "Port_StdDiag_LifeCycle" in
chapter 5.1.4)
LifeCycleRequest <-> RteModeRequestPort_xxx
where RteModeRequestPort_xxx means the P-Port of the BswM that provides a mode requret of the
ModeDeclarationGroup "StdDiag_LifeCycle" to the StdDiag module. (see
"StdDiagLifeCycleRequestPort" in chapter 5.1.4)
SessionChangeIndicationPort <-> ModeSwitchPort_xxx
where ModeSwitchPort_xxx means the P-Port of the BswM that provides a mode switch of the
ModeDeclarationGroup "StdDiag_SessionModeGroup" to the StdDiag module. (see
"StdDiagSessionChangeIndicationPort" in chapter 5.1.4)
ComControlNormalModeAccessPort <-> ModeSwitchPort_xxx
where ModeSwitchPort_xxx means the P-Port of the BswM that provides a mode switch of the
ModeDeclarationGroup "StdDiag_NormalCommunicationModeGroup" to the StdDiag module. (see
"StdDiagComControlNormalNotificationPort" in chapter 5.1.4)
ComControlModeRequestPort <-> ModeRequestPort_xxx
where ModeRequestPort_xxx means the R-Port of the BswM that receives a mode request of the
ModeDeclarationGroup "StdDiag_NormalCommunicationModeGroup" from the StdDiag module. (see
"Port_StdDiag_ComControlModeRequest" in chapter 5.1.4)
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 27 of 30


Other Application SWC
UserEstablishIntrinsicSafetyPort <-> ApplicationPort
where ApplicationPort means the P-Port of an Application SWC that establishes intrinsic safety. (Only
necessary when parameter "StdDiagUserEstablishIntrinsicSafety" is set to 'true', see chapter 5.2.)
UserEstablishIntrinsicSafetyCbkPort <-> ApplicationPort
where ApplicationPort means the R-Port of an Application SWC that notifies StdDiag when intrinsic
safety is established. (Only necessary when parameter "StdDiagUserEstablishIntrinsicSafety" is set to
'true', see chapter 5.2.)
UserProgrammingPreconditionsCheckPort <-> ApplicationPort
where ApplicationPort means the P-Port of an Application SWC that provides a user programming
precondition check. (Only necessary when parameter "UserProgrammingPreconditionsCheck" is set to
'true', see chapter 5.2.)
UserActiveSessionStatePort <-> ApplicationPort
where ApplicationPort means the P-Port of an Application SWC that provides the active session state for
HDD Update Session. (Only necessary when parameter "StdDiagUserActiveSessionState" is set to 'true',
see chapter 5.2.)
If the configuration container "StdDiagProvideIDRL" is available, and the IDRL clients and the individual
data IDs are also configured (see chapter 5.2), the following ports of the StdDiag module have to be
connected with the ports of the IDRL clients as follows:
IdrlDataSwc<IDRLClient><DID> <-> ApplicationPort
where <IDRLClient> is the name of an IDRL client configured in container IDRLClient, and <DID> is the
symbolic name of the individual data configured in container IndivData (see chapter 5.2).
ResetIdrlData<IDRLClient> <-> ApplicationPort
where <IDRLClient> is the name of an IDRL client configured in container IDRLClient (see chapter 5.2).
If the configuration container "StdDiagApplicationDataTransfer" is available, and the
applicationRoutineControlIdentifer, applicationSubRoutineControlIdentifer and cntrlIDs are also
configured (see chapter 5.3), the following ports of the StdDiag module have to be connected with the
ports of the ADT clients as follows:
Adt_<applRID>_<applSubRID>_CtrlID_<cntrlID> <-> ApplicationPort
where ApplicationPort means the P-Port of an Application SWC that implements an ADT client (e.g. port
"StdDiag_AdueCertificates" of module Bs), and where <applRID> is the name of the container
"ApplicationRoutineControlIdentifier", <applSubRID> is the name of the container
"ApplicationSubRoutineControlIdentifier", and <cntrlID> is the hex representation of parameter
"controlIDs" (see chapter 5.3).
Note: <applSubRID> is an empty string if corresponding parameter "SubRoutineIdentifierValue" is 0.
Adt_<applRID>_<applSubRID>_CtrlID_<cntrlID>_Cbk <-> ApplicationPort
This is the corresponding optional callback port connection, which is only necessary if an ADT client
handles requests asynchronously.
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 28 of 30


Event Mapping
The mode switch events "Event_SessionChange_DefaultSession" and
"Event_SessionChange_OtherSession" have to be mapped to an os-task.
Data Mapping
No Data Mapping necessary for the StdDiag module.
Exclusive Areas
No Exclusive Area available in the StdDiag module.
Software Integration
Startup/Initialization
Before initialization of the StdDiag module, the modules Det, Dcm, Dem, Omc, Darh and the RTE have to
be initialized. To initialize the StdDiag module, the BswM shall request the mode
"STDDIAG_INITIALIZED" of the mode declaration group "StdDiag_LifeCycle".
When initialization of the StdDiag has been finished successfully, the StdDiag module switches the mode
to "STDDIAG_INITIALIZED".
Normal Operation
When the StdDiag module switches the mode to "STDDIAG_INITIALIZED", the BswM shall request the
mode "STDDIAG_RUNNING". There are no further conditions that have to be considered. When the
StdDiag module switches the mode to "STDDIAG_RUNNING", the module is in normal operation mode.
Shutdown/Deactivation
To deactivate the StdDiag module, the BswM has to request to the mode "STDDIAG_STOPPED". There
are no further conditions that have to be considered. When the StdDiag module switches the mode to
"STDDIAG_STOPPED", the module is deactivated.
Select Post Build Configuration
If the configuration parameter "SgbdIndex" is configured for two or more variants, the integrator shall call
the API StdDiag_SetConfiguration(const StdDiag_PBConfigType * selectedConfig),
with parameter selectedConfig set to the desired post build variant. Possible variants and necessary
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 29 of 30


type definitions are available in the generated header file StdDiagClassic_PBCfg.h. If only one
SgbdIndex is configured, this configuration is used by default, i.e. it is not necessary to call this API.
SWCD
After generating the Dcm SWC description files the integrator shall perform changes within
StdDiag_ext_interface.arxml.pgen to make the Rte interfaces between Dcm and StdDiag compatible from
Rte point of view. Within the StdDiag_ext_interface.arxml.pgen the <ARRAY-SIZE> of the parameters
Indication_ArrayType and DiagCommLoopback_ArrayType shall be set to the values given by Dcm. If the
RTE importer still complains about incompatible interfaces, please check the compatibility of the StdDiag
configuration and the Dcm configuration.
Prevent sleep mode
[IM_StdDiagClassic_0018] dLH Fahrzeugprogrammierung (10505691-000-02) requires in FL247
that an ECU shall not go into sleep mode as long as EnergyMode is set to "Flash". This has to be ensured
by the integrator, and can be acheived in different ways. One possibility is the following:
Evaluate the current operating mode (=EnergyMode) provided by module "Omc" via Port
"operatingModeSwitchPort"
Create BswM-Rules that realize the following items
If the operating mode equals "Flash" (0x03), trigger communication request for Partial Network
"Fahrzeug Infrastruktur"
If the operating mode does not equal "Flash" (0x03), release communication request for Partial
Network "Fahrzeug Infrastruktur"
For details on the operating mode refer to OmcClassic_IntegrationManual.pdf c(FL247)
StdDiagClassic_IntegrationManual.pdf, Version 5.4.0, Software Platforms
Page 30 of 30

Document Outline


5 - StdDiagClassic_ReleaseNotes

6 - StdDiagClassic_ReleaseNotes_ind

Outline
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6

7 - StdDiagClassic_ReleaseNotess


Release Notes StdDiagClassic
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.4.0
Status
Release
Hotline
+49 89 382 - 32233
Contact
bac@bmw.de
https://asc.bmw.com/jira/browse/BSUP (extern)
https://asc.bmwgroup.net/jira/browse/BSUP (intern)
Revision History
Version
Date
Issues
5.4.0
2017-12-14
BAC-6630, BAC-6257, BAC-6699, BAC-6248
5.3.0
2017-11-09
BAC-6506, BAC-6249
5.2.0
2017-10-12
BAC-6413, BAC-6347, BAC-5176, BAC-6339, BAC-6433,
BAC-6230
5.1.0
2017-08-10
BAC-6162, BAC-6148
5.0.0
2017-06-29
Company
Bayerische
Motoren Werke
Aktiengesellschaft
Postal address
BMW AG
80788 München
Office address
Forschungs- und
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
Telephone
Switchboard
+49 89 382-0
Internet
www.bmwgroup.com
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 1 of 6


1
Module Description
This package contains the adapter for a classic AUTOSAR platform for the StdDiagGeneric package. The
StdDiag module is modeled as an AUTOSAR software component residing above the RTE.
2
Revisions and Modifications
Revision 5.4.0 [Released]
Item
Description
CR ID:
BAC-6630
CR Headline:
StdDiagClassic - *.pgen templates inconsistent with paramdef
Description of Issues:
Optional configuration container "StdDiagUserDefinedMemory" is
treated as mandatory if parameter
"StdDiagClearSecondaryErrorMemory" is enabled, which may
cause misleading error messages.
Description of Changes:
Create proper error message if configuration dependencies are
violated.
Changed Files:
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/pageinclude/StdDiag_GetIdrlConfig.pgen
generate/include/StdDiagClassic_Cfg.h.pgen
Compatibility:
Item
Description
CR ID:
BAC-6257
CR Headline:
Provide feature "Application Data Transfer (ADT)"
Description of Issues:
Provide dispatcher for common diagnostic requests of functionality
"Application Data Transfer" (ADT) (german:
"Applikationsdatenübertragung", ADÜ).
Description of Changes:
Provided dispatcher for RoutineControl "Upload/Download
Pre/Post-Processing" (RID 0x7000) and diagnostic services
"RequestDownload" (0x34), "RequestUpload" (0x35),
"TransferData" (0x36) and "RequestTransferExit" (0x37). Provided
configuration parameters for ADT memory objects.
Changed Files:
CMakeLists.txt
cfgdesc/StdDiagClassic_paramdef.arxml
doc/StdDiagClassic_IntegrationManual.pdf
generate/include/StdDiagClassic_Cfg.h.pgen
generate/meta/StdDiag_bswmd.arxml.pgen
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/meta/StdDiag_internal.arxml.pgen
generate/meta/StdDiag_interfaces.arxml.pgen
generate/pageinclude/StdDiag_GetAdtConfig.pgen
generate/src/StdDiagClassic_Cfg.c.pgen
include/StdDiag_AdtTypes.h
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 2 of 6


include/StdDiag_DcmTypes.h
src/StdDiag_Adt.c
src/StdDiag_AdtInternal.h
src/StdDiag_AdtUploadDownload.c
Compatibility:
Item
Description
CR ID:
BAC-6699
CR Headline:
Remove compiler abstraction from source code
Description of Issues:
Remove AUTOSAR compiler abstraction from source code.
Description of Changes:
Removed compiler abstraction.
Changed Files:
generate/src/StdDiagClassic_Cfg.c.pgen
src/StdDiag_IDRLAdapter.c
include/StdDiag_IDRLAdapter.h
Compatibility:
Item
Description
CR ID:
BAC-6248
CR Headline:
Provide callback mechanism to establish intrinsic safety
Description of Issues:
Provide an asynchronous callback mechanism to establish intrinsic
safety for long running user callouts.
Description of Changes:
Provided callback interfaces for long running applications.
Changed Files:
src/StdDiagClassic.c
src/StdDiag_AppAdapter.c
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/meta/StdDiag_interfaces.arxml.pgen
doc/StdDiagClassic_IntegrationManual.pdf
generate/meta/StdDiag_internal.arxml.pgen
Compatibility:
Revision 5.3.0 [Released]
Item
Description
CR ID:
BAC-6506
CR Headline:
Adapt pgen templates to PAGe v1.1.0
Description of Issues:
Adapt pgen files to PAGe v1.1.0.
Description of Changes:
Adapted pgen files to PAGe v1.1.0.
Changed Files:
generate/meta/StdDiag_internal.arxml.pgen
Compatibility:
Item
Description
CR ID:
BAC-6249
CR Headline:
Provide PostBuild configuration of SGBD-Index
Description of Issues:
Parameter "StdDiagSgbdIndex" shall be post build selectable.
Description of Changes:
Moved parameter "StdDiagSgbdIndex" to adapter part and add
post build support.
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 3 of 6


Changed Files:
src/StdDiagClassic.c
generate/include/StdDiagClassic_PBCfg.h.pgen
cfgdesc/StdDiagClassic_paramdef.arxml
generate/src/StdDiagClassic_PBCfg.c.pgen
CMakeLists.txt
doc/StdDiagClassic_IntegrationManual.pdf
Compatibility:
Revision 5.2.0 [Released]
Item
Description
CR ID:
BAC-6413
CR Headline:
StdDiag: Remove SP2015/2015 suffixes from VEHICLE STATE
Description of Issues:
Remove suffixes "SP2015" from interfaces provided by Stm to be
compatible with current Stm release.
Description of Changes:
Removed suffixes "SP2015" from all Stm interfaces and types.
Changed Files:
src/StdDiag_StmAdapter.c
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/meta/StdDiag_internal.arxml.pgen
Compatibility:
Item
Description
CR ID:
BAC-6347
CR Headline:
StdDiag: Use of DcmGetSecurityLevel
Description of Issues:
Remove unused server call point to operation "GetSecurityLevel"
Description of Changes:
Removed all fragments from SWCD related to operation
"GetSecurityLevel".
Changed Files:
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/meta/StdDiag_internal.arxml.pgen
Compatibility:
Item
Description
CR ID:
BAC-5176
CR Headline:
BAC modules paramdef violate TPS_ECUC_06004
Description of Issues:
According to AUTOSAR_TPS_ECUConfiguration
TPS_ECUC_06004 an AdminData field is required at the
beginning of every ECU Configuration Parameter Definition XML
file.
Description of Changes:
Added AdminData field containing module version and release
date.
Changed Files:
cfgdesc/StdDiagClassic_paramdef.arxml
Compatibility:
Item
Description
CR ID:
BAC-6339
CR Headline:
Compiler warning due to undefined identifier
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 4 of 6


Description of Issues:
Compiler raises warning due to undefined identifier
'STDDIAG_DEV_ERROR_DETECT'
Description of Changes:
Fixed compiler warning.
Changed Files:
src/StdDiagClassic.c
include/StdDiag_AssertAdapter.h
src/StdDiag_ErrMemAdapter.c
Compatibility:
Item
Description
CR ID:
BAC-6433
CR Headline:
Schema of paramdefs, paramconfs and SWCDen should be
AUTOSAR_4-3-0_STRICT_COMPACT.xsd
Description of Issues:
Schema of parameter definition files and SWCDs should be
conform to AUTOSAR_4-3-0_STRICT_COMPACT.xsd
Description of Changes:
Adapted parameter definition files and SWCDs to schema
AUTOSAR_4-3-0_STRICT_COMPACT.
Changed Files:
generate/meta/StdDiag_interfaces.arxml.pgen
cfgdesc/StdDiagClassic_paramdef.arxml
generate/meta/StdDiag_ext_interfaces.arxml.pgen
generate/meta/StdDiag_internal.arxml.pgen
Compatibility:
Item
Description
CR ID:
BAC-6230
CR Headline:
Usage of IMPLEMENTATION-CONFIG-CLASSES in BMW
modules is invalid according to ASR4.2.2
Description of Issues:
Elements IMPLEMENTATION-CONFIG-CLASSES containing
ECUC-IMPLEMENTATION-CONFIGURATION-CLASS are
deprecated.They shall be replaced by VALUE-CONFIG-
CLASSES/ECUC-VALUE-CONFIGURATION-CLASS and/or
MULTIPLICITY-CONFIG-CLASSES/ECUC-MULTIPLICITY-
CONFIGURATION-CLASS
Description of Changes:
Replaced IMPLEMENTATION-CONFIG-CLASSES by
VALUE-CONFIG-CLASSES, added
MULTIPLICITY-CONFIG-CLASSES where necessary.
Changed Files:
cfgdesc/StdDiagClassic_paramdef.arxml
Compatibility:
Revision 5.1.0 [Released]
Item
Description
CR ID:
BAC-6162
CR Headline:
StdDiag: Wrong cross version check for classic adapter
Description of Issues:
StdDiagClassic_Version.h uses wrong cross version check of
generic part.
Description of Changes:
Correct cross version check in classic adapter.
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 5 of 6


Changed Files:
generate/include/StdDiagClassic_Version.h.pgen
Compatibility:
Item
Description
CR ID:
BAC-6148
CR Headline:
StdDiag: Programming Precondition Check shall not fail in case of
missing PWF status
Description of Issues:
Programming Precondition Check fails if no PWF signal is available.
Description of Changes:
Accept unknown PWF state as valid Programming Precondition.
Changed Files:
src/StdDiagClassic.c
src/StdDiag_StmAdapter.c
Compatibility:
Revision 5.0.0 [Released]
Item
Description
CR ID:
CR Headline:
Initial Release for SP2021
Description of Issues:
Initial Release for SP2021
Description of Changes:
Initial Release for SP2021
Changed Files:
Compatibility:
ReleaseNotes_StdDiagClassic, Version 5.4.0, Software Platforms
Page 6 of 6

Document Outline


8 - StdDiagClassic_RequirementsTable

9 - StdDiagClassic_RequirementsTable_ind

Outline
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6

10 - StdDiagClassic_RequirementsTables


StdDiag Classic Requirements Table
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.4.0
Status
Release
Hotline
+49 89 382 - 32233
Contact
bac@bmw.de
https://asc.bmw.com/jira/browse/BSUP (extern)
https://asc.bmwgroup.net/jira/browse/BSUP (intern)
Revision History
Version
Date
Changed by
Description
5.4.0
2017-12-14
JC-42
Version Update
5.3.0
2017-11-09
JC-42
Version Update
5.2.0
2017-10-12
JC-42
Version Update
5.1.0
2017-08-10
JC-42
Version update.
5.0.0
2017-06-29
JC-42
Initial version for SP2021.
Company
Bayerische
Motoren Werke
Aktiengesellschaft
Postal address
BMW AG
80788 München
Office address
Forschungs- und
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
Telephone
Switchboard
+49 89 382-0
Internet
www.bmwgroup.com
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 1 of 6


Table of Contents
1 Related documentation
3
2 Requirements Table
4
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 2 of 6


1
Related documentation
References
[1] LH Fahrzeugprogrammierung
SAP: 10505691 000 02
[2] LH Applikationsdatenübertragung
SAP: 10117430 000 03
[3] Diagnose - Systembeschreibung
SAP: 10000784-000-12
[4] Diagnose - ISO 14229
SAP: 10000783 000 11
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 3 of 6


2
Requirements Table
The Requirements are taken from [1], [2], [3] and [4].
Requirement
Description
Satisfied by
[ADUE_2773]
No description
[ADUE_2774]
No description
[ADUE_2927]
No description
[ADUE_2930]
No description
[ADUE_2931]
No description
[ADUE_2933]
No description
[ADUE_2935]
No description
[ADUE_2936]
No description
[ADUE_2937]
No description
[ADUE_2938]
No description
[ADUE_2940]
No description
[ADUE_2942]
No description
[ADUE_2943]
No description
[ADUE_2945]
No description
[ADUE_2946]
No description
[ADUE_2947]
No description
[ADUE_2948]
No description
[ADUE_2952]
No description
[ADUE_2953]
No description
[ADUE_2954]
No description
[ADUE_2955]
No description
[ADUE_2956]
No description
[ADUE_2957]
No description
[ADUE_2958]
No description
[ADUE_2961]
No description
[ADUE_2962]
No description
[ADUE_2963]
No description
[ADUE_2975]
No description
[ADUE_3577]
No description
[ADUE_3981]
No description
[ADUE_3982]
No description
[ADUE_3983]
No description
[DK_T3_1582]
No description
[DK_T3_1583]
No description
[DK_T3_1585]
No description
[DK_T3_1586]
No description
[DK_T3_1589]
No description
[DK_T3_1590]
No description
[DK_T3_1591]
No description
[DK_T3_1592]
No description
[DK_T3_1595]
No description
[DK_T3_1596]
No description
[DK_T3_1597]
No description
[DK_T3_1598]
No description
[DK_T3_1599]
No description
[DK_T3_1602]
No description
[DK_T3_1603]
No description
[DK_T3_1605]
No description
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 4 of 6


Requirement
Description
Satisfied by
[DK_T3_1606]
No description
[DK_T3_1609]
No description
[DK_T3_1610]
No description
[DK_T3_1611]
No description
[DK_T3_1612]
No description
[DK_T3_1615]
No description
[DK_T3_1616]
No description
[DK_T3_1617]
No description
[DK_T3_1618]
No description
[DK_T3_1619]
No description
[DK_T3_1622]
No description
[DK_T3_1623]
No description
[DK_T3_1624]
No description
[DK_T3_1625]
No description
[DK_T3_1626]
No description
[DK_T3_1629]
No description
[DK_T3_1630]
No description
[DK_T3_1631]
No description
[DK_T3_1632]
No description
[DK_T3_1633]
No description
[DK_T3_1636]
No description
[DK_T3_1637]
No description
[DK_T3_1638]
No description
[DK_T3_1639]
No description
[DK_T3_1902]
No description
[DK_T3_1903]
No description
[DK_T3_1904]
No description
[DK_T3_1905]
No description
[DK_T3_1906]
No description
[DK_T3_1907]
No description
[DK_T3_1908]
No description
[DK_T3_1909]
No description
[DK_T3_1911]
No description
[DK_T3_792]
No description
[DK_T3_796]
No description
[DK_T3_798]
No description
[DK_T3_799]
No description
[DK_T3_800]
No description
[DK_T3_801]
No description
[DK_T3_802]
No description
[DK_T3_862]
No description
[DK_T3_863]
No description
[DK_T3_864]
No description
[DK_T3_865]
No description
[ ADUE_2774]
No description
[IM_StdDiagClassic_0023]
[ ADUE_3618]
No description
[IM_StdDiagClassic_0023]
[ ADUE_3929]
No description
[IM_StdDiagClassic_0008]
[ ADUE_3982]
No description
[IM_StdDiagClassic_0009]
[ DK_T3_1586]
No description
[IM_StdDiagClassic_0010]
[ DK_T3_1592]
No description
[IM_StdDiagClassic_0011]
[ DK_T3_1599]
No description
[IM_StdDiagClassic_0012]
[ DK_T3_1606]
No description
[IM_StdDiagClassic_0022]
[ DK_T3_1612]
No description
[IM_StdDiagClassic_0013]
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 5 of 6


Requirement
Description
Satisfied by
[ DK_T3_1619]
No description
[IM_StdDiagClassic_0014]
[ DK_T3_1626]
No description
[IM_StdDiagClassic_0015]
[ DK_T3_1633]
No description
[IM_StdDiagClassic_0016]
[ DK_T3_1639]
No description
[IM_StdDiagClassic_0017]
[ADUE_2773]
No description
[IM_StdDiagClassic_0023]
[ADUE_3927]
No description
[IM_StdDiagClassic_0008]
[ADUE_3981]
No description
[IM_StdDiagClassic_0009]
[DK_T3_1583]
No description
[IM_StdDiagClassic_0010]
[DK_T3_1590]
No description
[IM_StdDiagClassic_0011]
[DK_T3_1596]
No description
[IM_StdDiagClassic_0012]
[DK_T3_1603]
No description
[IM_StdDiagClassic_0022]
[DK_T3_1610]
No description
[IM_StdDiagClassic_0013]
[DK_T3_1616]
No description
[IM_StdDiagClassic_0014]
[DK_T3_1623]
No description
[IM_StdDiagClassic_0015]
[DK_T3_1630]
No description
[IM_StdDiagClassic_0016]
[DK_T3_1637]
No description
[IM_StdDiagClassic_0017]
[DK_T3_312]
No description
[IM_StdDiagClassic_0020]
[IM_StdDiagClassic_0021]

[DK_T3_316]
No description
[IM_StdDiagClassic_0020]
[IM_StdDiagClassic_0021]

[DK_T3_318]
No description
[IM_StdDiagClassic_0006]
[DK_T3_792]
No description
[IM_StdDiagClassic_0004]
[DK_T3_794]
No description
[IM_StdDiagClassic_0003]
[DK_T3_799]
No description
[IM_StdDiagClassic_0004]
[DK_T3_800]
No description
[IM_StdDiagClassic_0004]
[DK_T3_862]
No description
[IM_StdDiagClassic_0005]
[DK_T3_863]
No description
[IM_StdDiagClassic_0005]
[DK_T3_864]
No description
[IM_StdDiagClassic_0005]
[DK_T3_865]
No description
[IM_StdDiagClassic_0005]
[FL1082]
No description
[IM_StdDiagClassic_0019]
[FL1083]
No description
[IM_StdDiagClassic_0019]
[FL194]
No description
[IM_StdDiagClassic_0001]
[FL247]
No description
[IM_StdDiagClassic_0018]
[FL257]
No description
[IM_StdDiagClassic_0002]
[FL896]
No description
[IM_StdDiagClassic_0007]
[FL897]
No description
[IM_StdDiagClassic_0007]
[FL898]
No description
[IM_StdDiagClassic_0007]
[FL899]
No description
[IM_StdDiagClassic_0007]
StdDiagClassic_RequirementsTable.pdf, Version 5.4.0, Software Platforms
Page 6 of 6

Document Outline


11 - StdDiagGeneric_ReleaseNotes

12 - StdDiagGeneric_ReleaseNotes_ind

Outline
Page 1
Page 2
Page 3
Page 4
Page 5

13 - StdDiagGeneric_ReleaseNotess


Release Notes StdDiagGeneric
Project
BMW AUTOSAR Core 4 Rel. 3 and adaptive BMW AUTOSAR Core Rel. 1
Author
BMW AG
Release Date
2017-12-14
Version
5.3.0
Status
Release
Hotline
+49 89 382 - 32233 (classic) / +49 89 382 - 22522 (adaptive)
Contact
bac@bmw.de (classic) / abac@bmw.de (adaptive)
https://asc.bmw.com/jira/browse/BSUP (extern)
https://asc.bmwgroup.net/jira/browse/BSUP (intern)
Revision History
Version
Date
Issues
5.3.0
2017-12-14
BAC-6628, BAC-6248
5.2.0
2017-11-09
BAC-6469, BAC-6249
5.1.1
2017-10-12
BAC-5176, BAC-6230, BAC-6241, BAC-6433
5.1.0
2017-08-10
BAC-6148, BAC-6134
5.0.0
2017-06-29
Company
Bayerische
Motoren Werke
Aktiengesellschaft
Postal address
BMW AG
80788 München
Office address
Forschungs- und
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
Telephone
Switchboard
+49 89 382-0
Internet
www.bmwgroup.com
ReleaseNotes_StdDiagGeneric, Version 5.3.0, Software Platforms
Page 1 of 5


1
Module Description
The main functionality of the StdDiag module is to handle the active session states ("subsessions") of the
default diagnostic session and the extended diagnostic session. It ensures that the programming
preparation process (i.e. the transition from the diagnostic default session via the extended diagnostic
session to the programming session) is only successful, if the diagnostic requests are received in the
correct sequence and all necessary preconditions are fulfilled. It also checks whether diagnostic requests
shall be rejected or allowed in the different session states.
The StdDiag module also provides diagnostic service handlers for - clearing the secondary error memory
- reading the active session state - reading the programming preconditions - reading the SGBD-Index -
diagnostic communication loopback functionality - handling Diagnostic Log and Trace settings - handling
IDRL basic functionality
2
Revisions and Modifications
Revision 5.3.0 [Released]
Item
Description
CR ID:
BAC-6628
CR Headline:
Adapt generated code comment to new PAGe generator
Description of Issues:
Name of IDRL Client in comment of StdDiag_DIDArray is not
generated correctly with latest PAGe version.
Description of Changes:
Adapt generation of comment to latest PAGe version.
Changed Files:
generate/src/StdDiag_Cfg.c.pgen
Compatibility:
Item
Description
CR ID:
BAC-6248
CR Headline:
Provide callback mechanism to establish intrinsic safety
Description of Issues:
Provide an asynchronous callback mechanism to establish intrinsic
safety for long running user callouts.
Description of Changes:
Provided callback interfaces for long running applications.
Changed Files:
include/StdDiag.h
src/StdDiag_ProgPreparation.c
Compatibility:
Revision 5.2.0 [Released]
Item
Description
CR ID:
BAC-6469
CR Headline:
StdDiag: Extended Session handling
Description of Issues:
Flash Acceptance Test (FAT) fails due to wrong session states
after processing diagnostic requests to change (extended) energy
mode.
ReleaseNotes_StdDiagGeneric, Version 5.3.0, Software Platforms
Page 2 of 5


Description of Changes:
Corrected active session states depending on energy mode
settings.
Changed Files:
src/StdDiag_ProgPreparation.c
Compatibility:
Item
Description
CR ID:
BAC-6249
CR Headline:
Provide PostBuild configuration of SGBD-Index
Description of Issues:
Parameter "StdDiagSgbdIndex" shall be post build selectable.
Description of Changes:
Moved parameter "StdDiagSgbdIndex" to adapter part and add
post build support.
Changed Files:
include/StdDiag.h
CMakeLists.txt
cfgdesc/StdDiag_paramdef.arxml
src/StdDiag_SgbdIndex.c
generate/include/StdDiag_Cfg.h.pgen
Compatibility:
Revision 5.1.1 [Released]
Item
Description
CR ID:
BAC-5176
CR Headline:
BAC modules paramdef violate TPS_ECUC_06004
Description of Issues:
According to AUTOSAR_TPS_ECUConfiguration
TPS_ECUC_06004 an AdminData field is required at the
beginning of every ECU Configuration Parameter Definition XML
file.
Description of Changes:
Added AdminData field containing module version and release
date.
Changed Files:
cfgdesc/StdDiag_paramdef.arxml
Compatibility:
Item
Description
CR ID:
BAC-6230
CR Headline:
Usage of IMPLEMENTATION-CONFIG-CLASSES in BMW
modules is invalid according to ASR4.2.2
Description of Issues:
Elements IMPLEMENTATION-CONFIG-CLASSES containing
ECUC-IMPLEMENTATION-CONFIGURATION-CLASS are
deprecated.They shall be replaced by VALUE-CONFIG-
CLASSES/ECUC-VALUE-CONFIGURATION-CLASS and/or
MULTIPLICITY-CONFIG-CLASSES/ECUC-MULTIPLICITY-
CONFIGURATION-CLASS
Description of Changes:
Replaced IMPLEMENTATION-CONFIG-CLASSES by
VALUE-CONFIG-CLASSES, added
MULTIPLICITY-CONFIG-CLASSES where necessary.
Changed Files:
cfgdesc/StdDiag_paramdef.arxml
ReleaseNotes_StdDiagGeneric, Version 5.3.0, Software Platforms
Page 3 of 5


Compatibility:
Item
Description
CR ID:
BAC-6241
CR Headline:
StdDiag: wrong NegReponseCode for $10 02 in default session
Description of Issues:
Diagnostic request to switch from default to programming session
is answered with wrong negative response code.
Description of Changes:
Corrected negative response code from 0x7F
(ServiceNotSupportedInActiveSession) to 0x7E
(SubFunctionNotSupportedInActiveSession)
Changed Files:
src/StdDiag_ProgPreparation.c
Compatibility:
Item
Description
CR ID:
BAC-6433
CR Headline:
Schema of paramdefs, paramconfs and SWCDen should be
AUTOSAR_4-3-0_STRICT_COMPACT.xsd
Description of Issues:
Schema of parameter definition files and SWCDs should be
conform to AUTOSAR_4-3-0_STRICT_COMPACT.xsd
Description of Changes:
Adapted parameter definition files and SWCDs to schema
AUTOSAR_4-3-0_STRICT_COMPACT.
Changed Files:
cfgdesc/StdDiag_paramdef.arxml
Compatibility:
Revision 5.1.0 [Released]
Item
Description
CR ID:
BAC-6148
CR Headline:
StdDiag: Programming Precondition Check shall not fail in case of
missing PWF status
Description of Issues:
Programming Precondition Check fails if no PWF signal is available.
Description of Changes:
Accept unknown PWF state as valid Programming Precondition.
Changed Files:
src/StdDiag_ProgPreparation.c
include/StdDiag_StmAdapter.h
Compatibility:
Item
Description
CR ID:
BAC-6134
CR Headline:
StdDiag: Svkaktuell fails in extendedSession.FlashModeActivated
Description of Issues:
RDBI-Job fails with ConditionsNotCorrect in Status
ExtendedSession.FlashModeActivated.
Description of Changes:
Allowed execution of all RDBI jobs in any state.
Changed Files:
src/StdDiag_ProgPreparation.c
Compatibility:
ReleaseNotes_StdDiagGeneric, Version 5.3.0, Software Platforms
Page 4 of 5


Revision 5.0.0 [Released]
Item
Description
CR ID:
CR Headline:
Initial Release for SP2021
Description of Issues:
Initial Release for SP2021
Description of Changes:
Initial Release for SP2021
Changed Files:
Compatibility:
ReleaseNotes_StdDiagGeneric, Version 5.3.0, Software Platforms
Page 5 of 5

Document Outline


14 - StdDiagGeneric_RequirementsTable

15 - StdDiagGeneric_RequirementsTable_ind

Outline
Page 1
Page 2
Page 3
Page 4
Page 5

16 - StdDiagGeneric_RequirementsTables


StdDiag Generic Requirements Table
Project
BMW AUTOSAR Core 4 Rel. 3 and adaptive BMW AUTOSAR Core Rel. 1
Author
BMW AG
Release Date
2017-12-14
Version
5.3.0
Status
Release
Hotline
+49 89 382 - 32233 (classic) / +49 89 382 - 22522 (adaptive)
Contact
bac@bmw.de (classic) / abac@bmw.de (adaptive)
https://asc.bmw.com/jira/browse/BSUP (extern)
https://asc.bmwgroup.net/jira/browse/BSUP (intern)
Revision History
Version
Date
Changed by
Description
5.3.0
2017-12-14
JC-42
Version Update
5.2.0
2017-11-09
JC-42
Version Update
5.1.1
2017-10-12
JC-42
Version Update
5.1.0
2017-08-10
JC-42
Version update.
5.0.0
2017-06-29
JC-42
Initial version for SP2021.
Company
Bayerische
Motoren Werke
Aktiengesellschaft
Postal address
BMW AG
80788 München
Office address
Forschungs- und
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
Telephone
Switchboard
+49 89 382-0
Internet
www.bmwgroup.com
StdDiagGeneric_RequirementsTable.pdf, Version 5.3.0, Software Platforms
Page 1 of 5


Table of Contents
1 Related documentation
3
2 Requirements Table
4
3 Limitations
5
3.1
Features not yet implemented
5
StdDiagGeneric_RequirementsTable.pdf, Version 5.3.0, Software Platforms
Page 2 of 5


1
Related documentation
References
[1] LH Fahrzeugprogrammierung
SAP: 10505691 000 02
[2] LH Applikationsdatenübertragung
SAP: 10117430 000 03
[3] Diagnose - Systembeschreibung
SAP: 10000784-000-12
[4] Diagnose - ISO 14229
SAP: 10000783 000 11
StdDiagGeneric_RequirementsTable.pdf, Version 5.3.0, Software Platforms
Page 3 of 5


2
Requirements Table
The Requirements are taken from [1], [2], [3] and [4].
Requirement
Description
Satisfied by
[ADUE_3929]
No description
[DK_T2_257]
No description
[DK_T2_259]
No description
[DK_T3_1171]
No description
[FL105]
No description
[FL106]
No description
[FL107]
No description
[FL1078]
No description
[FL1080]
No description
[FL1084]
No description
[FL1085]
No description
[FL1086]
No description
[FL1087]
No description
[FL109]
No description
[FL110]
No description
[FL111]
No description
[FL113]
No description
[FL115]
No description
[FL117]
No description
[FL118]
No description
[FL120]
No description
[FL128]
No description
[FL1306]
No description
[FL1307]
No description
[FL1308]
No description
[FL1309]
No description
[FL1310]
No description
[FL1311]
No description
[FL1312]
No description
[FL1318]
No description
[FL132]
No description
[FL134]
No description
[FL136]
No description
[FL191]
No description
[FL192]
No description
[FL193]
No description
[FL195]
No description
[FL215]
No description
[FL216]
No description
[FL217]
No description
[FL218]
No description
[FL231]
No description
[FL257]
No description
[FL258]
No description
[FL263]
No description
[FL264]
No description
[FL269]
No description
[FL270]
No description
StdDiagGeneric_RequirementsTable.pdf, Version 5.3.0, Software Platforms
Page 4 of 5


Requirement
Description
Satisfied by
[FL272]
No description
[FL274]
No description
[FL278]
No description
[FL279]
No description
[FL898]
No description
[FL899]
No description
[FL900]
No description
[FL901]
No description
[FL902]
No description
[FL_195]
No description
[ FL193]
No description
[IM_StdDiag_0002]
[ FL216]
No description
[IM_StdDiag_0001]
[ FL217]
No description
[IM_StdDiag_0001]
[ FL283]
No description
[IM_StdDiag_0001]
[ FL284]
No description
[IM_StdDiag_0001]
[ FL285]
No description
[IM_StdDiag_0001]
[FL191]
No description
[IM_StdDiag_0002]
[FL215]
No description
[IM_StdDiag_0001]
3
Limitations
Features not yet implemented
Following features are not yet available in the current version of StdDiag:
Protection against control unit access (Secure ECU Modes) (see chapter 2.2.6 of [3])
Diagnosis while driving (see chapter 3.4.1 of [3])
Remote diagnostics (see chapter 3.5 of [3])
StdDiagGeneric_RequirementsTable.pdf, Version 5.3.0, Software Platforms
Page 5 of 5

Document Outline