1 - Omc 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 Omc
Revision / Baseline:


Windows User: Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved. Omc_Bac_Ar4.3.0_05.01.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#21729


























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):


Rijvi Ahmed







































































2 - OmcClassic_IntegrationManual

4 - OmcClassic_IntegrationManuals


Omc Classic Integration Manual
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.2.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.2.0
2017-12-14
BAC-6565: document callback mechanism to establish intrinsic safety
(AllowModeChange and OmcOperatingModeCallout)
5.1.1
2017-10-12
Version Update
5.1.0
2017-08-10
Version Update
5.0.0
2017-06-29
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
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 1 of 12


Table of Contents
1 Introduction
4
1.1
Functional overview
4
2 Related documentation
5
3 Limitations
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
Nvm
7
4.2
Dependencies to other modules
7
5 Integration
8
5.1
Configuration of other Modules
8
5.1.1
Dcm
8
5.1.1.1
Read Data By Identifer
8
5.1.1.2
Routine Control
8
5.1.2
NvM
8
5.1.3
Dem
9
5.1.3.1
Enable Condition
9
5.1.3.2
Event
9
5.1.4
BswM
9
5.1.5
Det
9
5.2
Provided Interfaces
10
5.2.1
OmcOperatingMode and OmcExtendedOperatingMode
10
5.2.2
OmcModesCalloutsResult
10
5.3
Required Interfaces
10
5.3.1
OmcModesCallouts
10
5.4
Configuration
10
5.4.1
OmcGeneral
10
5.4.1.1
OmcDevErrorDetect
10
5.4.1.2
OmcOperatingModeCallout
11
5.5
Configuration of the RTE
11
5.5.1
Event Mapping
11
5.5.2
Data Mapping
11
5.5.2.1
Dcm
11
5.5.2.2
Det
11
5.5.3
Dem
11
5.5.4
NvM
11
5.5.5
BswM
11
5.5.6
Exclusive Areas
12
5.6
Software Integration
12
5.6.1
Startup/Initialization
12
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 2 of 12


5.6.2
Normal Operation
12
5.6.3
Shutdown/Deactivation
12
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 3 of 12


1
Introduction
This Integration Manual describes the basis functionality, API and the configuration and integration of the
BMW System Function Omc.
Functional overview
The main objective of the Omc functionality is to maintain the current Operating Mode of an ECU.
This means:
Allowing the change of the current Operating Mode via diagnostic request
Saving the current Operating Mode to Non Volatile RAM (NVRAM)
Enabling/disabling Dem (more concrete: Setting/Unsetting a enable condition)
Providing the current Operating Mode to other software components.
The Omc module distinguishes the following vehicle operating modes:
NORMAL
ASSEMBLY
TRANSPORT
FLASH
Note that in different documents these modes are sometimes called "energy modes" sometimes called
"operating modes". Although both terms are equivalent, we strictly use the term operating mode.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 4 of 12


2
Related documentation
References
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 5 of 12


3
Limitations
No limitations are known.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 6 of 12


4
Software Architecture
Dependencies on AUTOSAR modules
The current version of the Module Omc depends on the following BSW modules:
RTE
As a software component, the Omc module uses Rte client/server communication to communicate with
other SWCs and BSW. Additionally the scheduling is done by the Rte.
Det
In case Det usage is enabled in the Omc configuration, Omc will report development errors by using the
Det functionality.
Dcm
The Dcm will call functionality of the Omc module when a RDBI for the operating mode or the extended
operating mode has been received. The corresponding R-ports of the Dcm for these two identifiers must
be connected with the corresponding P-ports of the Omc.
Dem
The Omc use the operation SetEventStatus of the CSI DiagnosticMonitor to set an Event via Rte. It also
uses the ClientServer Interface of service EnableCondition.
Nvm
The Omc relies on services provided by the Nvm to store its persistent data regarding the current
operating mode and current extended operating mode.
Dependencies to other modules
Omc does not have dependencies to other modules.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 7 of 12


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 Identifer
[] dTwo Read Data By Identifier commands shall be configured within Dcm (22 10 0A and 22 10 0E).
c(DK_T3_736, DK_T3_762, FZM_SC_SYS_PA_335, DK_T3_1255)
DcmDspDataSize shall be set to 8
DcmDspDataUsePort shall be set to USE_DATA_SYNCH_CLIENT_SERVER
DID shall be configured to be read in all sessions and security levels
Routine Control
[] dTwo Routine Control commands shall be configured within Dcm (31 01 0F 0C and 31 01 10 03).
c(DK_T3_720, DK_T3_725, DK_T3_727, DK_T3_729, DK_T3_751, FZM_SC_SYS_PA_334,
FZM_SC_SYS_PA_334)

DcmDspRoutineFixedLength shall be true
DcmDspRoutineUsePort shall be true
Only DcmDspStartRoutineIn shall be configured
DcmDspRoutineSignalLength shall be set to 8
DcmDspRoutineSignalPos shall be set to 0
NvM
The Omc needs a Nvm block to store the operating mode:
[] d
block size shall be set to 2 bytes
Ram block address shall be set to Omc_NvData
Rom block address shall be set to Omc_DefaultNvData
NvmBlockManagementType shall be set to NVM_BLOCK_NATIVE
NvmBlockUseCrc shall be disabled
NvmSelectBlockForReadall shall be set to true
c(DK_T3_743, FZM_SC_SYS_PA_169, FZM_SC_SYS_PA_329, FZM_SC_SYS_PA_171,
FZM_SC_SYS_PA_331)

OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 8 of 12


Dem
Enable Condition
A EnableCondition for Omc shall be configured wihtin Dem.
This EnableCondition shall be referenced by all EnableConditionGroups in the system, that depend on
this EnableCondition.
Example: At BMW the permission to report communication error relevant Dem events depends on the
state of different sources (operating mode, diagnostic state and Stm centralErrorLock). Each of these
sources is connected to its own EnableCondition and all these conditions are combined in one
EnableConditionGroup.
At the end, all Dem Events that represent communication errors shall reference this EnableGroup via their
DemEnableConditionGroupRef parameter.
Event
An Dem event shall be configured for Omc.
[] d
DTC vale shall be set to 0x020000 + 0x100 * ECU_Address
Event destination: primary origin
Event kind: DEM_EVENT_KIND_SWC
A Clear Event Allowed port shall be configured via Rte
Operation Cycle: this event shall reference an operation cycle which is started before OmcMode is INIT
and stays in this state until OmcMode is STOP.
c(DK_T3_711)
BswM
The BswM controls the states of the Omc module.
BswMModeRequestPort for the Omc operation mode
BswMRules to switch the Omc operation mode
BswMRteSwitch actions for the Omc operation mode
Det
A Omc entry shall be added to the Software Component List from Det.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 9 of 12


Provided Interfaces
OmcOperatingMode and OmcExtendedOperatingMode
The Omc provides two RTE Modes which indicate the operating and extended operating mode which are
currently active.
OmcModesCalloutsResult
This interface may be used by the user if OmcOperatingModeCallout is set to true when the interfaces
AllowOpModeSwitch or OpModeSwitchCancelled returns RUNNING.
The user may indicate over this interface using the following operations:
OpModeSwitchAllowedResult: shall be called if AllowOpModeSwitch returned
ERUNNINGtoinformtheOmcifamodeorextendedmodeswitchisallowedornot.OpModeSwitchCancelledAck :
shallbecalledif OpM odeSwitchCancelledreturnedERU N N IN Gtoinf ormtheOmcthatthemodeorextendedmodeswitchhasbeencancelled.
Required Interfaces
OmcModesCallouts
The user has to provide this this interface if the parameter OmcOperatingModeCallout is set to true.
The following two opereations shall be implemented:
AllowOpModeSwitch: is called by Omc during a diagnose request to change the operating or extended
operating mode. The user will be able to accept or deny this request.
OpModeSwitchCancelled: if the interface AllowOpModeSwitch has been called and the operating or
extended operating mode change is not performed the user is informed over this interface that the
change has been cancelled. This may happens e.g. if an error occurs while trying to store the new
operating mode in non volatile memory.
Configuration
OmcGeneral
This container contains the configuration parameters of the Omc
OmcDevErrorDetect
Activate/Deactivate the Development Error Detection and Notification.
If set to true: Development Error Detection and Notification activated. If set to false: Development Error
Detection and Notification deactivated.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 10 of 12


OmcOperatingModeCallout
Activate/Deactivate an user callback to be able to accept or deny a mode or extended mode change. If
set to true: The application provides one or more instances of the service AllowModeChange. The user
may control over this interface if mode or extended mode change is allowed or not. The user is only
called to allow or not a mode or extended mode change only if the mode change has already be
accepted by StdDiag. If set to false: Omc decides with StdDiag if a mode or extended mode change
allowed is or not.
Configuration of the RTE
Event Mapping
The followings runnable entities shall be mapped:
Init
RollbackModeChange
Data Mapping
Dcm

The port ControlEnergySavingState shall be connected to the Dcm generated
RoutineServices_<xxx> see 6.1 Dcm, Routine Control.
The port ControlExtendedEnergySavingState shall be connected to the Dcm generated
RoutineServices_<xxx> see 6.1 Dcm, Routine Control.
The port EnergySavingState shall be connected to the Dcm generated DataServices_<xxx> see 6.1
Dcm, Read Data By Identifier
The port ExtendedEnergySavingState shall be connected to the Dcm generated
DataServices_<xxx> see 6.1 Dcm, Read Data By Identifier.
Det
The port DETServicePort shall be connected to the Det generated service port see 6.1 Dem, Det.
Dem
The port ClearEventAllowedPort shall be connected to the Dem generated clear event allowed port
see 6.1 Dem, Event.
The port operatingModeEvent shall be connected to the Dem generated Diagnostic Monitor port
see 6.1 Dem, Event.
NvM
The port NvMServicePort shall be connected to the NvM generated service port see 6.1. NvM.
BswM
The port notificationOMCModePort shall be connected to the BswM generated mode switch port
see 6.1 BswM.
The prot requestOmcModePort shall be connected to the BswM generated mode request port see
6.1. BswM.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 11 of 12


Exclusive Areas
Omc uses one Exclusive Area called Mode.
Software Integration
Startup/Initialization
The NvM ReadAll shall be complete before the Omc mode OMC_INITIALIZED is requested. The
initialization is complete when the mode switch to OMC_INITIALIZED (triggered by Omc) is completed.
While in OMC_INITIALIZED the integrator shall decide the best moment to BswM to request
OMC_RUNNING. After requesting OMC_RUNNING Omc will switch the mode to OMC_RUNNING.
When the switch is completed the Omc will be running.
To request a specific state the user shall use the port LifeCycleRequest.
Normal Operation
Shutdown/Deactivation
The BswM shall request the Omc Mode to OMC_STOPPED to stop the Omc SW-C. The module is
stopped when the mode switch to OMC_STOPPED (triggered by Omc) is completed.
OmcClassic_IntegrationManual.pdf, Version 5.2.0, Software Platforms
Page 12 of 12

Document Outline


5 - OmcClassic_ReleaseNotes

6 - OmcClassic_ReleaseNotes_ind

Outline
Page 1
Page 2
Page 3
Page 4
Page 5

7 - OmcClassic_ReleaseNotess


Release Notes OmcClassic
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.2.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.2.0
2017-12-14
BAC-5455, BAC-6565, BAC-6717, BAC-6460
5.1.1
2017-10-12
BAC-6397, BAC-6041
5.1.0
2017-08-10
BAC-6210, BAC-6163, BAC-4161
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_OmcClassic, Version 5.2.0, Software Platforms
Page 1 of 5


1
Module Description
The main objective of the OMC functionality is to maintain the current Operation Mode of an ECU.
2
Revisions and Modifications
Revision 5.2.0 [Released]
Item
Description
CR ID:
BAC-5455
CR Headline:
Adapt code to be MISRA and improve code coverage
Description of Issues:
Improve code to be MISRA conform. Improve unit test code
coverage.
Description of Changes:
Improve code to be MISRA conform. Improve unit test code
coverage.
Changed Files:
generate/meta/Omc_internal.arxml.pgen
src/Omc_ApplAdapter.c
src/Omc_StdDiagAdapter.c
Compatibility:
Item
Description
CR ID:
BAC-6565
CR Headline:
Provide callback mechanism to establish intrinsic safety.
Description of Issues:
Provide a callback mechanism for StdDiag and the Application to
accept a mode change, and also to be informed if the mode
change is not completed.
Description of Changes:
Improve the callback mechanismus to StdDiag and the Application.
Providing an extra interface to allow or disallow a mode change
using a callback. Also provide a callback to confirm a rollback if a
mode change is not completed.
Changed Files:
doc/OmcClassic_IntegrationManual.pdf
generate/meta/Omc_internal.arxml.pgen
src/Omc_ApplAdapter.c
src/Omc_StdDiagAdapter.c
Compatibility:
Item
Description
CR ID:
BAC-6717
CR Headline:
Improve requirement tracing
Description of Issues:
Improve requirement tracing table.
Description of Changes:
Improve requirement tracing table.
Changed Files:
generate/meta/Omc_interfaces.arxml.pgen
doc/OmcClassic_IntegrationManual.pdf
doc/OmcClassic_RequirementsTable.pdf
ReleaseNotes_OmcClassic, Version 5.2.0, Software Platforms
Page 2 of 5


Compatibility:
Item
Description
CR ID:
BAC-6460
CR Headline:
Provide callback mechanism to establish intrinsic safety
Description of Issues:
Provide a callback mechanism for StdDiag and the Application to
accept a mode change, and also to be informed if the mode
change is not completed.
Description of Changes:
Improve the callback mechanismus to StdDiag and the Application.
Providing an extra interface to allow or disallow a mode change
using a callback. Also provide a callback to confirm a rollback if a
mode change is not completed.
Changed Files:
generate/meta/Omc_interfaces.arxml.pgen
Compatibility:
Revision 5.1.1 [Released]
Item
Description
CR ID:
BAC-6397
CR Headline:
OmcClassic: Omc_NvM.h may lead to multiple RTE Application
header file inclusions
Description of Issues:
Omc_NvM.h needs to be included by the NvM as many others
includes files of differents SWCs, if each one includes
Rte_<SWCName>.h the NvM code can not be compiled. Only one
Rte_<SWC>.h can be included from a file.
Description of Changes:
Omc_NvM.h inclusion of Rte_Omc.h has been replaced by
Rte_Omc_Type.h.
Changed Files:
include/Omc_NvM.h
Compatibility:
Item
Description
CR ID:
BAC-6041
CR Headline:
Omc: SERVER-ARGUMENT-IMPL-POLICY should be set to
USE-ARRAY-BASE-TYPE
Description of Issues:
Arrays shall set SERVER-ARGUMENT-IMPL-POLICY to
USE-ARRAY-BASE-TYPE.
Description of Changes:
Change the SERVER-ARGUMENT-IMPL-POLICY of
CS-Operation "ReadData" of CS-Interfaces
"DataServices_ExtendedOperatingMode" and
"DataServices_OperatingMode" to USE-ARRAY-BASE-TYPE.
Changed Files:
generate/meta/Omc_ext_interfaces.arxml.pgen
Compatibility:
Revision 5.1.0 [Released]
Item
Description
ReleaseNotes_OmcClassic, Version 5.2.0, Software Platforms
Page 3 of 5


CR ID:
BAC-6210
CR Headline:
Improve Requirements Traceability
Description of Issues:
Add requirements from IntegrationManual to RequirementsTable.
Description of Changes:
Added requirements from IntegrationManual to
RequirementsTable.
Changed Files:
Compatibility:
Item
Description
CR ID:
BAC-6163
CR Headline:
Omc: Version header for classic adapter is missing
Description of Issues:
Omc Classic Adapter does not provide a version header file.
Description of Changes:
Added version header file for classic adapter.
Changed Files:
src/OmcClassic_Version.h
include/OmcClassic_Version.h
include/Omc_NvM.h
src/Omc_ErrMemAdapter.c
src/Omc_ConcAdapter.c
src/Omc_ApplAdapter.c
src/Omc_MgmtAdapter.c
include/Omc_Assert.h
src/Omc_NvMAdapter.c
src/Omc_StdDiagAdapter.c
src/Omc_UDSAdapter.c
Compatibility:
Item
Description
CR ID:
BAC-4161
CR Headline:
Omc: Remove R-Port "LifeCycleLoopback", change P-Port
"LifeCycle" to PR-Port
Description of Issues:
Remove R-Port "LifeCycleLoopback", change P-Port "LifeCycle"
to PR-Port.
Description of Changes:
Removed R-Port "LifeCycleLoopback" and changed P-Port
"LifeCycle" to PR-Port.
Changed Files:
generate/meta/Omc_internal.arxml.pgen
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:
ReleaseNotes_OmcClassic, Version 5.2.0, Software Platforms
Page 4 of 5


Compatibility:
ReleaseNotes_OmcClassic, Version 5.2.0, Software Platforms
Page 5 of 5

Document Outline


8 - OmcClassic_UserManual

9 - OmcClassic_UserManual_ind

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

10 - OmcClassic_UserManuals


Omc Classic User Manual
Project
BMW AUTOSAR 4 Core Rel. 3
Author
BMW AG
Release Date
2017-12-14
Version
5.2.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.2.0
2017-12-14
Version Update
5.1.1
2017-10-12
Version Update
5.1.0
2017-08-10
Version Update
5.0.0
2017-06-29
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
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 1 of 6


Table of Contents
1 Overview
3
1.1
Purpose
3
2 Related documentation
4
3 API
5
3.1
Datatypes
5
3.1.1
Omc_OperatingModeType
5
3.1.2
Omc_ExtendedOperatingModeType
5
3.2
Interfaces
6
3.2.1
Provided
6
3.2.1.1
OmcOperatingMode
6
3.2.1.2
OmcExtendedOperatingMode
6
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 2 of 6


1
Overview
This User Manual describes the basis functionality, API and the configuration and integration of the BMW
System Function Omc.
Purpose
The main objective of the Omc functionality is to maintain the current Operating Mode of an ECU.
This means:
Allowing the change of the current Operating Mode via diagnostic request
Saving the current Operating Mode to Non Volatile RAM (NVRAM)
Enabling/disabling Dem (more concrete: Setting/Unsetting a enable condition)
Providing the current Operating Mode to other software components.
The Omc module distinguishes the following vehicle operating modes:
NORMAL
ASSEMBLY
TRANSPORT
FLASH
Note that in different documents these modes are sometimes called "energy modes" sometimes called
"operating modes". Although both terms are equivalent, we strictly use the term operating mode.
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 3 of 6


2
Related documentation
References
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 4 of 6


3
API
Datatypes
Omc_OperatingModeType
This type is used to represent the Operating Mode.
Type name
Omc_OperatingModeType
Type
uint8
Values
0x00
OMC_MODE_NORMAL
Normal Mode
0x01
OMC_MODE_ASSEMBLY
Assembly Mode
0x02
OMC_MODE_TRANSPORT
Transport Mode
0x03
OMC_MODE_FLASH
Flash Mode
Description
Represents the operation mode.
Omc_ExtendedOperatingModeType
This type is used to represent the Extended Operating Mode.
Type name
Omc_ExtendedOperatingModeType
Type
uint8
Values
0x00
OMC_MODE_EXTENSION_NORMAL
Normal Extended Mode
0x01
OMC_MODE_EXTENSION_1
Extended Mode 1
0x02
OMC_MODE_EXTENSION_2
Extended Mode 2
0x03
OMC_MODE_EXTENSION_3
Extended Mode 3
0x04
OMC_MODE_EXTENSION_4
Extended Mode 4
0x05
OMC_MODE_EXTENSION_5
Extended Mode 5
0x06
OMC_MODE_EXTENSION_6
Extended Mode 6
0x07
OMC_MODE_EXTENSION_7
Extended Mode 7
0x08
OMC_MODE_EXTENSION_8
Extended Mode 8
0x09
OMC_MODE_EXTENSION_9
Extended Mode 9
0x0A
OMC_MODE_EXTENSION_10
Extended Mode 10
0x0B
OMC_MODE_EXTENSION_11
Extended Mode 11
0x0C
OMC_MODE_EXTENSION_12
Extended Mode 12
0x0D
OMC_MODE_EXTENSION_13
Extended Mode 13
0x0E
OMC_MODE_EXTENSION_14
Extended Mode 14
0x0F
OMC_MODE_EXTENSION_15
Extended Mode 15
0xFF
OMC_MODE_EXTENSION_INVALID
Invalid Extended Mode
Description
Represents the extended operation mode.
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 5 of 6


Interfaces
Provided
Omc provides two Mode interfaces to the user to be able to detect the current Operating Mode and
Extended Operating Mode. The interface Mode interface, so the user can also trigger able runnable
on-entry, on-change or on-exit of a mode.
OmcOperatingMode
ModeDeclarationGroup OmcOperatingMode {
{
OMC_MODE_ASSEMBLY,
OMC_MODE_BMW_FLASH,
OMC_MODE_NORMAL,
OMC_MODE_TRANSPORT
}
initialMode = OMC_MODE_NORMAL
}
OmcExtendedOperatingMode
ModeDeclarationGroup OmcExtendedOperatingMode {
{
OMC_MODE_EXTENSION_1,
OMC_MODE_EXTENSION_10,
OMC_MODE_EXTENSION_11,
OMC_MODE_EXTENSION_12,
OMC_MODE_EXTENSION_13,
OMC_MODE_EXTENSION_14,
OMC_MODE_EXTENSION_2,
OMC_MODE_EXTENSION_3,
OMC_MODE_EXTENSION_4,
OMC_MODE_EXTENSION_5,
OMC_MODE_EXTENSION_6,
OMC_MODE_EXTENSION_7,
OMC_MODE_EXTENSION_8,
OMC_MODE_EXTENSION_9,
OMC_MODE_EXTENSION_INVALID,
OMC_MODE_EXTENSION_NORMAL,
OMC_MODE_EXTENSION_SAVE_ENERGY
}
initialMode = OMC_MODE_EXTENSION_NORMAL
}
OmcClassic_UserManual.pdf, Version 5.2.0, Software Platforms
Page 6 of 6

Document Outline


11 - OmcGeneric_ReleaseNotes

12 - OmcGeneric_ReleaseNotes_ind

Outline
Page 1
Page 2
Page 3

13 - OmcGeneric_ReleaseNotess


Release Notes OmcGeneric
Project
BMW AUTOSAR Core 4 Rel. 3 and adaptive BMW AUTOSAR Core Rel. 1
Author
BMW AG
Release Date
2017-12-14
Version
5.1.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.1.0
2017-12-14
BAC-6566, BAC-6565, BAC-6717
5.0.2
2017-10-12
BAC-6242
5.0.1
2017-08-10
BAC-6169
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_OmcGeneric, Version 5.1.0, Software Platforms
Page 1 of 3


1
Module Description
The main objective of the OMC functionality is to maintain the current Operation Mode of an ECU.
2
Revisions and Modifications
Revision 5.1.0 [Released]
Item
Description
CR ID:
BAC-6566
CR Headline:
Omc: Adapt code to be MISRA and improve code coverage
Description of Issues:
Improve code to be MISRA conform. Improve unit test code
coverage.
Description of Changes:
Improve code to be MISRA conform. Improve unit test code
coverage.
Changed Files:
src/Omc.c
include/Omc.h
include/Omc_ApplAdapter.h
cfgdesc/Omc_paramdef.arxml
src/Omc_Data.c
Compatibility:
Item
Description
CR ID:
BAC-6565
CR Headline:
Provide callback mechanism to establish intrinsic safety.
Description of Issues:
Provide a callback mechanism for StdDiag and the Application to
accept a mode change, and also to be informed if the mode
change is not completed.
Description of Changes:
Improve the callback mechanismus to StdDiag and the Application.
Providing an extra interface to allow or disallow a mode change
using a callback. Also provide a callback to confirm a rollback if a
mode change is not completed.
Changed Files:
include/Omc_StdDiagAdapter.h
include/Omc.h
include/Omc_ApplAdapter.h
src/Omc.c
Compatibility:
Item
Description
CR ID:
BAC-6717
CR Headline:
Improve requirement tracing
Description of Issues:
Improve requirement tracing table.
Description of Changes:
Improve requirement tracing table.
Changed Files:
include/Omc_Data.h
ReleaseNotes_OmcGeneric, Version 5.1.0, Software Platforms
Page 2 of 3


Compatibility:
Revision 5.0.2 [Released]
Item
Description
CR ID:
BAC-6242
CR Headline:
Omc: wrong NegReponseCode for $31 01 10 03
Description of Issues:
Requesting an invalid extended mode in normal mode ($31 01 10
03) shall return Request Out Of Range and not Conditions not
Correct.
Description of Changes:
The order of following checks: * check if a extended mode change
is requested in normal mode * check if the range of the requested
extended mode is valid has been changed. First the range is
changed and if invalid Request out of Range is returned to the
tester.
Changed Files:
src/Omc.c
Compatibility:
Revision 5.0.1 [Released]
Item
Description
CR ID:
BAC-6169
CR Headline:
Omc: Compiler error due to comma at end of enum list
Description of Issues:
Comma at end of enumeration list causes compiler error.
Description of Changes:
Removed comma at end of enumeration list.
Changed Files:
src/Omc.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_OmcGeneric, Version 5.1.0, Software Platforms
Page 3 of 3

Document Outline


14 - OmcGeneric_RequirementsTable

15 - OmcGeneric_RequirementsTable_ind

Outline
Page 1
Page 2
Page 3
Page 4

16 - OmcGeneric_RequirementsTables


Omc 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.1.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.1.0
2017-12-14
JC-42
Version Update
5.0.2
2017-10-12
JC-42
Version Update
5.0.1
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
OmcGeneric_RequirementsTable.pdf, Version 5.1.0, Software Platforms
Page 1 of 4


Table of Contents
1 Related documentation
3
2 Requirements Table
4
OmcGeneric_RequirementsTable.pdf, Version 5.1.0, Software Platforms
Page 2 of 4


1
Related documentation
References
[1] FZM2 Client Systembeschreibung
SAP: 10001508-000-11
[2] Diagnose - Systembeschreibung
SAP: 10000784-000-12
OmcGeneric_RequirementsTable.pdf, Version 5.1.0, Software Platforms
Page 3 of 4


2
Requirements Table
The Requirements are taken from [1] and [2].
Requirement
Description
Satisfied by
[DK_T3_1254]
No description
[DK_T3_1255]
No description
[DK_T3_1480]
No description
[DK_T3_702]
No description
[DK_T3_706]
No description
[DK_T3_707]
No description
[DK_T3_717]
No description
[DK_T3_720]
No description
[DK_T3_725]
No description
[DK_T3_727]
No description
[DK_T3_729]
No description
[DK_T3_733]
No description
[DK_T3_736]
No description
[DK_T3_738]
No description
[DK_T3_740]
No description
[DK_T3_743]
No description
[DK_T3_748]
No description
[DK_T3_749]
No description
[DK_T3_767]
No description
[FZM_SC_SYS_PA_168]No description
[FZM_SC_SYS_PA_169]No description
[FZM_SC_SYS_PA_170]No description
[FZM_SC_SYS_PA_328]No description
[FZM_SC_SYS_PA_329]No description
[FZM_SC_SYS_PA_330]No description
[FZM_SC_SYS_PA_337]No description
OmcGeneric_RequirementsTable.pdf, Version 5.1.0, Software Platforms
Page 4 of 4

Document Outline