Vin
Vin
Component Documentation
1 - IntegrationManual_Vin
3 - IntegrationManual_Vins

Integration Manual Vin
Project
BMW AUTOSAR Core 4 Rel. 2
Author
BMW AG
Release Date
2017-02-23
Version
3.5.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
VersionDateChanged byDescription3.5.0
2017-02-23
Björn
No changes - only version update
Sachsenberg
3.4.2
2016-10-27
Björn
Add a note on NVM block length
Sachsenberg
3.4.1
2016-08-25
Björn
Fix NVM configuration
Sachsenberg
Company3.4.0
2016-03-17
Björn
Specify write frequency of NVM blocks, updated
Bayerische
Motoren Werke
Sachsenberg
section Data Mapping
Aktiengesellschaft
Postal address3.3.0
2015-12-11
Björn
Clarified data mapping
BMW AG
80788 München
Sachsenberg
Office addressForschungs- und
3.2.0
2015-07-10
Björn
Added SI adapter
Innovationszentrum
(FIZ)
Sachsenberg
Hufelandstr. 1
80937 München
3.1.0
2015-03-13
Björn
Added SSV functionality
TelephoneSachsenberg
Switchboard
+49 89 382-0
3.0.0
2014-10-29
Björn
Initial version
Internetwww.bmwgroup.com
Sachsenberg
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 1 of 11
Table of Contents1 Introduction31.1General3
1.2Functional overview3
2 Acronyms and Abbreviations33 Related documentation53.1BMW Specifications5
3.2AUTOSAR Specifications5
4 Limitations65 Software Architecture75.1Dependencies on AUTOSAR modules7
5.1.1RTE7
5.1.2NvM7
5.2Dependencies on BMW modules7
5.2.1Dlog7
5.2.2Fscsm7
6 Integration86.1Configuration of other Modules8
6.1.1Communication Stack8
6.1.2Nvm8
6.1.3Fscsm9
6.2Configuration9
6.3Configuration of the RTE9
6.3.1Assembly connectors9
6.3.1.1Always9
6.3.1.2If SecureVin is configured9
6.3.2Event Mapping9
6.3.3Data Mapping10
6.3.3.1If EnableSIAdapter=false10
6.3.3.2If SecureVin is configured with EnableSIAdapter=false10
6.3.3.3If EnableSIAdapter=true10
6.3.3.4If SecureVin is configured with EnableSIAdapter=true10
6.3.4Exclusive Areas11
6.4Software Integration11
6.4.1Startup/Initialisation11
6.4.2Normal Operation11
6.4.3Shutdown/Deactivation11
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 2 of 11
1Introduction1.1 GeneralFor a general introduction to the BAC4 Platform Modules please refer to
[1].This document only describes topics related to the SWT BAC4 Module.
This Integration Manual describes the basis functionality, API and the configuration of the BMW system
function VIN.
1.2 Functional overviewThe Vin module is used to request the VIN over the bus, set the qualifier and hand it over to application
software components.
2Acronyms and AbbreviationsA&S
Authentication and Signature (Grundschutzmechanismen)
AllgGB
Allgemeine Gültigkeitsbedingung
AN
Applikationsnummer
API
Application Programming Interface
AppGB
Applikationsspezifische Gültigkeitsbedingung
AUTOSAR Automotive Open System Architecture
CA
Certification Authority
CAL
Cryptographic Abstraction Layer
CAS
Car Access System (Steuergerät)
CCC
Car Communication Computer
CKD
Completely Knocked Down. A BMW plant that is not connected to the
central BMW IT.
CSM
Client Security Module
CRL
Certificate Revocation List
DEK
Data Encryption Key
DER
Distinguished Encoding Rules (As described by ASN.1)
DES
Data Encryption Standard
DN
Distinguished Name
DTC
Diagnostic Trouble Code -> Fehlercode des Fehlerspeichereintrages
ECU
Electronic Control Unit
FAT
Flash-Absicherungs-Tool
FSC
Freischaltcode
FSCS
Freischaltcode-Stelle
FZG
Fahrzeug
FZG-R
BMW Fahrzeug-Root-CA
GB
Gültigkeitsbedingung
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 3 of 11

GG
Gültigkeitsgruppe
GMT
Greenwich Mean Time
HO
Handelsorganisation (BMW)
HW
Hardware
M-FSCS
Master-Freischaltcodestelle
OS
Operating System
PKI
Public Key Infrastrucutre
RCn
Routine Control Option n / Exit Result n
RI
Routine Identifier
RSA
Asymmetric Cryptoalgorithm by Rivest, Shamir und Adleman
RTE
Runtime Environment
SG
Steuergerät
SGID
Steuergeräte-ID, Diagnoseadresse, Steuergeräte-Adresse
SID
Service Identifier
SigS
SW-Signatur-Stelle
SW
Software
SW-C
Software Component
SWID
Software-ID consisting of application number and upgrade index
SWT
SWEEPING Technologies (SoftWare Enabled Electronic Platform for Inno-
vative Next Generation Technologies)
UDS
Universal Diagnostic Services
UI
Upgrade Index
UTC
Coordinated Universal Time
VCM
Vehicle Configuration Management
VIN
Vehicle Identification Number
VIN7
The last 7 digits of the 17-digit VIN
All abbreviations used throughout this document -- except the ones listed here -- can be found in the
official AUTOSAR glossary
[6].IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 4 of 11
3Related documentation3.1 BMW Specifications[1] BAC4 General Concept for the Module Integration
BAC4_General_Concepts_for_the_Module_Integration.pdf
[2] Specification of Module DataLogistic
ModuleSpecification_Dlog.pdf
[3] Specification of Module FSCSM
ModuleSpecification_Fscsm.pdf
[4] Integration Manual FSCSM
IntegrationManual_Fscsm.pdf
[5] Specification of Module Vin
ModuleSpecification_Vin.pdf
3.2 AUTOSAR Specifications[6] Glossary
AUTOSAR_TR_Glossary
[7] Specification of RTE Software
AUTOSAR_SWS_RTE
[8] Specification of NVRAM Manager
AUTOSAR_SWS_NVRAMManager
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 5 of 11
4LimitationsAutosar 4.2.1 or later is required.
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 6 of 11
5Software Architecture5.1 Dependencies on AUTOSAR modules5.1.1 RTEThe module Vin is realized as a software component and is using RTE services
[7] for client/server as well
as sender/receiver communication to communicate with other SWCs.
5.1.2 NvMThe NVRAM Manager
[8] is used to store the last VIN and the SSV state.
5.2 Dependencies on BMW modules5.2.1 DlogThe Dlog module
[2] is used to get the internal VIN.
5.2.2 FscsmThe Fscsm module
[3] is needed for receiving the secure VIN.
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 7 of 11
6Integration6.1 Configuration of other ModulesThe following modules shall be configured, before the module Vin is compiled and linked.
6.1.1 Communication StackThe communication stack shall be configured to provide the Vehicle Identification Number (VIN) message
from the corresponding bus.
For i ∈ {1, . . . , 7} configure the signals
Shortname (according to BMW BNE): NO_VECH_<i>
ComBitPosition:
8(i − 1)
ComBitSize:
8
ComSignalEndianness:
OPAQUE
ComSignalLength:
1
ComSignalType:
UINT8_N
ComTransferProperty:
TRIGGERED
Note: The Signals NO_VECH_<i> (1 ≤ i ≤ 7) have to be configured as a Signalgroup!
Note: In Ethernet, these signals are modeled as structure in the field ChassisNumber of the Service
Interface VehicleInformation.
6.1.2 NvmFollowing NvM blocks shall be configured:
NVM_BLOCK_Vin
NvMBlockCrcType
NVM_CRC16
NvMBlockHeaderInclude
Vin_NvM.h
NvMBlockManagementType
NVM_BLOCK_NATIVE
NvMBlockUseCrc
true
NvMBlockWriteProt
false
NvMExtraBlockChecks
true
NvMNvBlockLength
81NvMNvBlockNum
1
NvMProvideRteServicePort
true
NvMRamBlockDataAddress
-
NvMResistantToChangedSw true, if NvMDynamicConfiguration = true
NvMRomBlockDataAddress
&Vin_NVStateDefault
NvMRomBlockNum
0
1block length might differ depending on the used compiler and compiler settings
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 8 of 11

NvMSelectBlockForReadAll
false
NvMSelectBlockForWriteAll
false
NvMWriteBlockOnce
False
Write Frequency: The block will be written every time a different VIN than the last VIN is received on
the bus and once on switch to safe environment. In practice this means, it is written once in the plant and
every time, the ECU is transferred into a different vehicle.
6.1.3 FscsmFor the secure VIN, FscsmActivateVerifyMessage shall be enabled in Fscsm, see
[3, 4] for details.
6.2 ConfigurationFor a detailed description of the configuration parameters, please consult the Vin Software Specification
[5].6.3 Configuration of the RTE6.3.1 Assembly connectors6.3.1.1 Always<BSW-Servicename>* shall be connected with its corresponding BSW port.
<Modulename><Portname> shall be connected with its corresponding <Portname> of the module
<Modulename>.
6.3.1.2 If SecureVin is configuredSSVErrorCode shall be connected to the DEM Environment Data for the FscsmError, see
[3, 4] for
details.
RandomNumberGenerator shall be connected to the corresponding Port of the Fscsm module.
6.3.2 Event MappingAll events must be mapped to the same or to non-preemptive tasks.
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 9 of 11
6.3.3 Data Mapping6.3.3.1 If EnableSIAdapter=falseFor the R-Port ComVin, the data elements Vin_ComVinType/Vin<i> shall be mapped to the signals
NO_VECH_<i> for i ∈ {1, . . . , 7}.
For the P-Port VinRequest, the data element RequestMessageIdentifier shall be mapped to the signal
ID_FN_INQY.
6.3.3.2 If SecureVin is configured with EnableSIAdapter=falseFor the P-Port SSVChallengeToSSS, the data element Challenge shall be mapped to the PDU
SECU_CHAL as follows:
SsvId
→ SSV_IDENT_CHAL
SSssId
→ SSS_IDENT_CHAL
Challenge → SECU_CHAL
For the R-Port SSVResponseFromSSS, the data element Response shall be mapped to the PDU
SECU_RESP as follows:
SsvId
→ SSV_IDENT_RESP
CounterBase → COU_BS_RESP
Signature
→ STU_RESP
For the R-Port SSVVinMacFromSSS, the data element Mac shall be mapped to the signal STU_8_BYTE.
6.3.3.3 If EnableSIAdapter=trueThe R-Port ComVin shall be connected to the corresponding P-Port of the VinSIAdapter SWC.
The P-Port VinRequest shall be connected to the corresponding R-Port of the VinSIAdapter SWC.
The R-Port ChassisNumberNotifier of the VinSIAdapter SWC shall be connected with the notifier of the
Field ChassisNumber of the Service Interface VehicleInformation.
The R-Port ChassisNumber of the VinSIAdapter SWC shall be connected with the getter of the Field
ChassisNumber of the Service Interface VehicleInformation.
6.3.3.4 If SecureVin is configured with EnableSIAdapter=trueThe P-Port SSVChallengeToSSS and the R-Ports SSVResponseFromSSS, SSVVinMacFromSSS shall
be connected to the corresponding ports of the VinSIAdapter SWC.
The R-Port ChassisNumberAuthentication of the VinSIAdapter SWC shall be connected with the Service
Interface ChassisNumberAuthentication.
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 10 of 11
6.3.4 Exclusive AreasThe exclusive area VinState shall be configured.
6.4 Software Integration6.4.1 Startup/InitialisationThe INITIALIZED mode shall be requested.
6.4.2 Normal OperationWhen the LifeCycle mode is in INITIALIZED, the RUNNING mode shall be requested.
6.4.3 Shutdown/DeactivationThe STOPPED mode shall be requested.
IntegrationManual_Vin, Version 3.5.0, Software Platforms
Page 11 of 11
Document Outline
4 - ModuleSpecification_Vin
6 - ModuleSpecification_Vins

Specification of Module Vin
Project
BMW AUTOSAR Core 4 Rel. 2
Author
BMW AG
Release Date
2017-02-23
Version
3.5.0
Status
Released
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
VersionDateChanged byDescription3.5.0
2017-02-23
Björn
No changes - only version update
Sachsenberg
3.4.2
2016-10-27
Björn
No changes - only version update
Sachsenberg
3.4.1
2016-08-25
Björn
No changes - only version update
Sachsenberg
Company3.4.0
2016-03-17
Björn
Added SWS IDs starting with SWS_Vin_0121,
Bayerische
Motoren Werke
Sachsenberg
changed SWS_Vin_0120
Aktiengesellschaft
Postal address3.3.0
2015-12-11
Björn
No changes - only version update
BMW AG
80788 München
Sachsenberg
Office addressForschungs- und
3.2.0
2015-07-10
Björn
Added SI adapter, added SWS IDs from
Innovationszentrum
(FIZ)
Sachsenberg
SWS_Vin_0109 on
Hufelandstr. 1
80937 München
3.1.0
2015-03-13
Björn
Added SSV functionality from Fscsm, added SWS IDs
TelephoneSachsenberg
from SWS_Vin_0034 on
Switchboard
+49 89 382-0
3.0.0
2014-10-29
Björn
Initial Release for SP2018.
Internetwww.bmwgroup.com
Sachsenberg
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 1 of 38
Table of Contents1 Introduction and functional overview42 Acronyms and Abbreviations43 Related documentation53.1BMW Specifications5
3.2AUTOSAR Specifications5
4 Constraints and assumptions65 Dependencies to other Modules75.1Dlog7
5.2Fscsm7
5.3RTE7
6 Requirements traceability87 Functional specification97.1Functional behavior9
7.2SSV12
7.2.1Secure environment13
7.2.2Challenge/response and CounterBase13
7.2.3Request/verify secure signal14
7.2.4SSV ports and interfaces16
7.2.5Message format17
7.3Error classification18
7.4Error detection18
7.5Error notification18
8 API Specification198.1Imported types19
8.2Type definitions19
8.3Function definitions19
8.3.1Vin_Main19
8.3.2Vin_LifeCycleModeRequest19
8.3.3Vin_SsvOnVkEstablished20
8.3.4Vin_SsvReceiveResponseFromSss20
8.3.5Vin_SsvReceiveMac20
8.3.6Vin_SsvStateGet21
8.3.7Modes, Types and Mappings21
8.3.8Provided Interfaces24
8.3.9Expected Interfaces26
8.3.10Service Definition28
8.3.11Runnables and Entry Points29
8.3.12Runnables and Entry Points30
9 Sequence Diagrams31ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 2 of 38
10 Configuration3210.1 How to read this chapter32
10.1.1Configuration and configuration parameters32
10.1.2Variants32
10.1.3Containers32
10.2 Containers and configuration parameters33
10.2.1CommonPublishedInformation33
10.2.2VinGeneral34
10.2.3SecureVin36
10.2.4MultiConfig38
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 3 of 38
1Introduction and functional overviewThe Vin module is used to request the VIN over the bus, set the qualifier and hand it over to application
software components.
2Acronyms and AbbreviationsAPI
Application Programming Interface
AUTOSAR Automotive Open System Architecture
BNDB
Bordnetzdatenbank BNE ist der aktuelle Begriff; BNDB ist veraltet, wird aber
gelegentlich noch gebraucht.
BNE
Bord Netz Engineer
CAN
Controller Area Network
DTC
Diagnostic Trouble Code -> Fehlercode des Fehlerspeichereintrages
ECU
Electronic Control Unit
EFS
LH Eigenschafts- / Funktions- / Systemlastenheft
FAT
Flash-Absicherungs-Tool
FZG
Fahrzeug
GMT
Greenwich Mean Time
HW
Hardware
IEEE
Institute of Electrical and Electronics Engineers Technisches Normungs-
gremium
IETF
Internet Engineering Task Force Normungsgremium für Internet-Standards
IP
Internet Protocol Netzwerkebene des TCP/IP Protokolls
ISO/OSI
Schichtenmodell der Kommunikationsprotokolle
OS
Operating System
PTP
Precision Time Protocol
PWF
Parken Wohnen Fahren Energie-Management Konzept bei BMW.
RTE
Runtime Environment
SG
Steuergerät
SGID
Steuergeräte-ID, Diagnoseadresse, Steuergeräte-Adresse
SID
Service Identifier
SW
Software
SW-C
Software Component
UDS
Universal Diagnostic Services
VIN
Vehicle Identification Number
All abbreviations used throughout this document -- except the ones listed here -- can be found in the
official AUTOSAR glossary
[5].ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 4 of 38
3Related documentation3.1 BMW Specifications[1] Specification of Module DataLogistic
ModuleSpecification_Dlog.pdf
[2] Specification of Module FSCSM
ModuleSpecification_Fscsm.pdf
[3] LH FP Teil 4 Codierung
SAP: 10001491-000-13[4] Fahrzeug Security Client Security Module
SAP: 10001096 000 113.2 AUTOSAR Specifications[5] Glossary
AUTOSAR_TR_Glossary
[6] Specification of RTE Software
AUTOSAR_SWS_RTE
[7] Layered Software Architecture
AUTOSAR_EXP_LayeredSoftwareArchitecture
[8] Specification of ECU Configuration
AUTOSAR_TPS_ECUConfiguration
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 5 of 38
4Constraints and assumptions[SWS_Vin_0001] dThere shall be only one Vin module available per ECU. c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 6 of 38
5Dependencies to other Modules5.1 DlogThe Dlog module
[1] is used to get the internal VIN.
5.2 FscsmThe Fscsm module
[2] is needed for receiving the secure VIN.
5.3 RTEThe module Vin is realized as a software component and is using RTE services
[6] for client/server as well
as sender/receiver communication to communicate with other SWCs.
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 7 of 38
6Requirements traceabilityThe Requirements are taken from
[3] and
[4].RequirementDescriptionSatisfied by[FP4_6292]No description
[SWS_Vin_0002][FsCSM_1496]No description
[SWS_Vin_0048][FsCSM_1497]No description
[SWS_Vin_0048][FsCSM_1707]No description
[SWS_Vin_0039][FsCSM_1708]No description
[SWS_Vin_0039][FsCSM_1709]No description
[SWS_Vin_0041][FsCSM_1710]No description
[SWS_Vin_0039][FsCSM_391]No description
[SWS_Vin_0078][FsCSM_4320]No description
[SWS_Vin_0048][FsCSM_4336]No description
[SWS_Vin_0049][FsCSM_4338]No description
[SWS_Vin_0050][FsCSM_4418]No description
[SWS_Vin_0056][FsCSM_4450]No description
[SWS_Vin_0068][FsCSM_4451]No description
[SWS_Vin_0069][FsCSM_4469]No description
[SWS_Vin_0055][FsCSM_848]No description
[SWS_Vin_0048][FsCSM_859]No description
[SWS_Vin_0048][FsCSM_937]No description
[SWS_Vin_0048][FsCSM_956]No description
[SWS_Vin_0048]ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 8 of 38
7Functional specification7.1 Functional behavior[SWS_Vin_0002] dThe VIN shall be requested according to FP4_6292
[3]. c
(FP4_6292)[SWS_Vin_0003] dThe Vin Qualifier shall be set according to
Figure 7.1, ``Vin Qualifier State''. c
()stm Vin Qualifier StateNo Fscsm
VIN receiv ed, Sig. not VIN receiv ed, Sig. not receiv ed, int. VIN receiv ed, int. VIN not equal, unsafe envequal, unsafe envInit, VIN not received
VIN receiv ed, Sig. VIN receiv ed, Sig. pending, int. VIN equalpending, int. VIN not equalVIN receiv ed, Sig. VIN receiv ed, Sig. receiv ed, Sig. not receiv ed, Sig. v alid, v alid, int. VIN equalint. VIN not equalVIN receiv ed, Sig. VIN receiv ed, Sig. receiv ed, Sig. v alid, receiv ed, Sig. not int. VIN equalv alid, int. VIN not equalOnly with WriteVin (Swt)
Figure 7.1: Vin Qualifier State[SWS_Vin_0034] dThe general workflow is shall be done according to
Figure 7.2, ``SSV State
Machine''. c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 9 of 38
stm SSVStateInitial
ReadNVMWaitForVin[NOT_OK]
T imeout
ReceiveVin
NotifyJobFinished
RequestVinVinReceiv edErrorWaitForF50Timeout
ReceiveVin
(set Vin and Qualifier)VK_Established
GetCounterbaseGetMacCheckVin(set Vin and Qualifier)Final
Figure 7.2: SSV State MachineModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 10 of 38
stm GetCounterbaseEntryPoint
CounterbaseNotReceived
RequestCounterbaseCounterbaseReceived
CounterbaseReceived
VerifyCounterbaseTimeout
CheckErrorLimitCounterbaseNotOk
CounterbaseOk
ErrorLimitReached
ExitPoint
Figure 7.3: Get Counterbase, SSV State MachineModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 11 of 38
stm GetMacEntryPoint
MacNotYetReceived
ErrorRequestMacT imeout
MacReceived
MacReceived
ExitPoint
Figure 7.4: Get Mac, SSV State Machine7.2 SSVSSV is the receiver of the secure signal that shall be verified. It shall recognize that the transmitted signal
was not manipulated or transmitted by an untrustworthy sender. The key necessary for SSV functionality
are transmitted by the MSM with the functionality F50 of the Fscsm module, see
[2] for details.
[SWS_Vin_0035] dA secure signal always consists of the actual (unprotected) signal and a Message
Authentication Code (MAC), which is sent in a separate signal. A receiver can only classify a secure signal
as secure when it has checked the MAC against the unprotected signal. c
()[SWS_Vin_0036] dThe signal source (sender) does not know whether the signal is transferred securely.
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 12 of 38

SSV receives both signal and MAC
SSV always passes the actual signal and qualifier on to Application
Task of SSV is to generate a correct qualifier for data
Signal
Signal
Sender
SSV
Receiver
SSS
MAC
Qualifier
ECU1
ECU2
c
()[SWS_Vin_0037] dAn SSV receives exactly one signed message and has a unique SSV-ID. c
()[SWS_Vin_0038] dThe Fscsm only supports one SSV for the VIN. c
()7.2.1 Secure environment[SWS_Vin_0039] dThe SSV can be found in a secure or unsecured environment with regard to the
signal it receives. SSV saves this state in a non-volatile flag. Initial value of the flag is SecEnv = false.
c
(FsCSM_1707, FsCSM_1708, FsCSM_1710)[SWS_Vin_0040] dAn SSV only then goes into the secure environment when it has received the secure
signal successfully once, i.e. the SSV has the qualifier SecEnv_VerificationSuccess as a result after
evaluation. c
()[SWS_Vin_0041] dOnce a SSV is in a secure environment, it cannot be reset to an unsecured
environment, even by programming the control unit again. c
(FsCSM_1709)7.2.2 Challenge/response and CounterBase[SWS_Vin_0042] dFor challenge/response, a common CounterBase is used between a SSS and its
SSVs. CounterBase is defined in SSS. c
()[SWS_Vin_0043] dA CounterBase has a size of 24 bits. c
()[SWS_Vin_0044] dIf the SSV cannot verify a signal, it shall request the current CounterBase with
challenge/response process immediately. c
()[SWS_Vin_0045] dIf F50 was not successfully executed, the SSV does not execute the
ChallengeResponse protocol. c
()[SWS_Vin_0046] dChallenge/response protocol is only needed by an SSV in a secure environment. c
()[SWS_Vin_0047] dChallenge/response process is done with N15.1 and N15.2.
Challenge (N15.1)
SSS
SSV
Response (N15.2)
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 13 of 38
[SWS_Vin_0048] dThe messages for updating the counter base between a SSV and a SSS are
described in
[FsCSM_937], ff. c
(FsCSM_937, FsCSM_4320, FsCSM_956, FsCSM_848, FsCSM_1496,
FsCSM_859, FsCSM_1497)[SWS_Vin_0049] dOperating sequence of challenge/response is described by
[FsCSM_4336]:
c
(FsCSM_4336)[SWS_Vin_0050] dIf an SSV receives a response after a challenge is sent, it shall calculate the MAC and
compares this with the received MAC. The counter base may only be considered valid and saved after
successful verification. c
(FsCSM_4338)[SWS_Vin_0051] dIf N15.1 message is sent and SSV receives no response after configured
TimeoutCounterbase (see
[SWS_Vin_0105]) or if verification of the received MAC fails, an error counter
is incremented. c
()[SWS_Vin_0053] dThe challenge/response mechanism shall be repeated until it has been executed
successfully or the error counter has exceeded the configured value ErrorlimitCounterbase (see
[SWS_Vin_0106]). In this case, an error memory entry with the error ERC_FSCSM_SSV_ERROR_STATE
shall be set. c
()[SWS_Vin_0055] dError counter is stored volatile. Initial value is 0. c
(FsCSM_4469)7.2.3 Request/verify secure signal[SWS_Vin_0056] dIf functionality F50 is not successfully executed (flag VK_Established not set), SSV
only requests the signal but not the MAC. In the other case it requests signal and MAC. c
(FsCSM_4418)[SWS_Vin_0057] dIf SSV requires a MAC for a signal, it sends a request message N12.1 to SSS. c
()[SWS_Vin_0058] dIf SSV in a secured environment requests a MAC and does not receive it after
configured time (TimeoutMac), the SSV shall make an error memory entry with the error code
ERC_FSCSM_SSV_MESSAGE_TIMEOUT_REQ. c
()[SWS_Vin_0059] dAs long as an SSV has received neither a signal nor an MAC in a life cycle, signal
qualifier shall be set to FSCSM_SAFE_ENV_SSV_NOT_INITIALIZED. c
()[SWS_Vin_0060] dIn all cases, SSV passes the received signal to application. Meta information, which
qualifies the signal (qualifier), shall be added. It is task of receiving application to use or not use the signal.
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 14 of 38

transition/to/idle
external/event/received
set/Qualifier1
receivedMAC
receivedSignal
SecEnv=False
idle
SecEnv=True
SignalIsInitialValue
MACisInitialValue
SignalHasBeenUpated
MAChasBeenUpdated
InThisPowerCycle
set/Qualifier3
InThisPowerCycle
Set/NVM/
5 Evaluate/Signal/MAC
Evaluate/Signal/MAC
SecEnv=True
5 set/Qualifier5
SecEnv=True
set/Qualifier6
set/Qualifier2
set/Qualifier7
SecEnv=
False
MACisInitialValue
SecEnv=True
set/Qualifier4
SecEnv=False
MACHasBeenUpated
MacEvalNoSuccess
InThisPowerCycle
MACEvalNoSuccess
Evaluate/Signal/MAC
MACEvalSuccess MACEvalSuccess
gültigVbeiVsetQualifierx
QualifierWert1234567NotInitialized
0x00
X
UnsecEnv
0x01
X
X
SecEnv_Untrusted
0x02
X
SecEnv_VerificationSuccess
0x03
X
X
SecEnv_VerificationFailed
0x04
X
X
SecEnv_Error
0x05
X
X
Figure 7.5: Evaluation of a secure signal by the SSV[SWS_Vin_0061] dIf SSV receives a plain signal and F50 was not executed yet, signal qualifier shall be
set to FSCSM_UNSAFE_ENV_MESSAGE_PLAIN in an unsecure environment. c
()[SWS_Vin_0062] dIf SSV receives a plain signal but no MAC and F50 was executed, signal qualifier
shall be set to FSCSM_SAFE_ENV_MESSAGE_PLAIN in a secure enviroment. c
()[SWS_Vin_0063] dIf SSV receives a plain signal and a correct MAC and F50 was executed, signal
qualifier shall be set to FSCSM_SAFE_ENV_MESSAGE_VERIFIED in a secure enviroment. c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 15 of 38
[SWS_Vin_0064] dIf SSV receives a plain signal and an incorrect MAC and F50 was executed, signal
qualifier shall be set to FSCSM_SAFE_ENV_MESSAGE_NOT_VERIFIED in a secure enviroment. c
()[SWS_Vin_0065] dIf an error occurs while writing to NvM, signal qualifier shall be set to
FSCSM_SAFE_ENV_ERROR_STATE in a secure enviroment. c
()[SWS_Vin_0066] dIf an SSV receives a MAC and has not yet received an associated signal. nothing is
sent to application. c
()[SWS_Vin_0067] dIf an SSV receives a MAC and has yet received an associated signal. a verification
shall be done. c
()[SWS_Vin_0068] dIf the verification produces a negative result or if the SSV has not yet received a
counter base, a new counter base shall be requested. c
(FsCSM_4450)[SWS_Vin_0069] dIf the request for a new counter base produces a positive result, the signal
verification against the MAC is started again. c
(FsCSM_4451)7.2.4 SSV ports and interfacesu
ECU1u
Application
Vin
u
SWCu
SSVu
u
u
RTEu
S/Ruinterfaces:uTransmissionuofutheuMAC
u
S/Ruinterfaces:uTransmissionuofutheuplainumessageu
S/Ruinterfaceutoutransmitumassageuandusignaluqualifieru
S/RuinterfaceutoutransmituauResponseu
Su/RuinterfaceutoutransmituauChallengeu
Figure 7.6: Overview of interfaces provided by SSVModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 16 of 38
Figure 7.6, ``Overview of interfaces provided by SSV'' shows the interfaces provided by Fscsm
functionality SSV:
port to receive an unsigned message
port to receive the corresponding signed message
port to send message and qualifier to the Application SWC
port to send a Challenge
port to receive a Response
7.2.5 Message format[SWS_Vin_0070] dAES and the vehicle key VK together with a CBC-MAC scheme are used for signing
a message. c
()[SWS_Vin_0071] dIf (Information <= 64 bit), the following block is encrypted with AES and a CBC-MAC
scheme
Block:
Information (padded with zeros)CounterBaseDelta (padded with zeros)64-Bit
24-Bit
40-Bit
Signature = MSB(AES-CBC-MAC(VK,IV,Block) | Length of Signature in bits). IV = 0. c
()[SWS_Vin_0072] dIf (Information > 64 bit), the following block is encrypted with AES and a CBC-MAC
scheme. The block length is a multiple of 128 bits. Block length = (128-Bit)*n, n>=2, n=
ceil((Len(Information)-64)/128)) + 1.
Block:
Information (padded with zeros)CounterBaseDelta (padded with zeros)(n-1)*128-Bit + 64-Bit
24-Bit
40-Bit
Signature = MSB(AES-CBC-MAC(VK,IV,Block) | Length of Signature in bits). IV = 0. The most significant
bits are taken from the last 128-bit block which was encrypted with AES and the CBC-MAC scheme. c
()[SWS_Vin_0073] dThe byte order of Information, CounterBase and Delta is big endian. c
()[SWS_Vin_0074] dWhen padding Delta the most significant bits are filled with zeros.
0
0
0
...
.....
...............
0
0
Dn
Dn-1
......
D2
D1
D0
MSB(PaddedDelta)
MSB(Delta)
LSB(Delta)
c
()[SWS_Vin_0075] dInformation has to be padded by filling the least significant bits with zeros.
Infon
Infon-1
..............
Info1
Info0
0
......
0
0
MSB(Information)
LSB(Information)
LSB(PaddedInformation)
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 17 of 38
[SWS_Vin_0076] dEach SSS uses a counter to sign message. The counter is incremented by 1 after a
message was signed. c
()[SWS_Vin_0077] dEach SSV must ensure that the counter is increased by one with each received
signed message. If this is not the case, the FSCSM considers the message verification as failed. c
()7.3 Error classification[SWS_Vin_0078] dThe Vin module shall provide the following errors.
Type of errorRelevanceRelated error codeValue
[hex]Fscsm Error
Production
FSCSM_ERROR
0x800000
+ 0x100 *
SGID +
0x30
c
(FsCSM_391)7.4 Error detection[SWS_Vin_0079] dThe detection of production code errors cannot be switched off. c
()7.5 Error notification[SWS_Vin_0080] dProduction errors shall be reported to the Diagnostic Event Manager. c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 18 of 38
8API Specification8.1 Imported typesHeader FileImported TypeStd_Types.h
Std_ReturnType
8.2 Type definitionsNo type definitions required.
8.3 Function definitions8.3.1 Vin_Main[SWS_Vin_0004] d
Service nameVin_Main
Syntaxvoid Vin_Main(
void
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
DescriptionMain function.
c
()Note: This function is cyclically triggered every 0.1s, when life cycle mode is running and VIN
communication mode is on.
8.3.2 Vin_LifeCycleModeRequest[SWS_Vin_0005] d
Service nameVin_LifeCycleModeRequest
Syntaxvoid Vin_LifeCycleModeRequest(
void
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
DescriptionEvaluates the requested mode and switches accordingly.
c
()Note: This is a RTE runnable which runs inside the exclusive area VinState.
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 19 of 38
8.3.3 Vin_SsvOnVkEstablished[SWS_Vin_0081] d
Service nameVin_SsvOnVkEstablished
Syntaxvoid Vin_SsvOnVkEstablished(
void
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
DescriptionCalled, when a new VKEstablished flag is available.
c
()Note: This is a RTE runnable which runs inside the exclusive area VinState.
8.3.4 Vin_SsvReceiveResponseFromSss[SWS_Vin_0082] d
Service nameVin_SsvReceiveResponseFromSss
Syntaxvoid Vin_SsvReceiveResponseFromSss(
void
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
DescriptionCalled on a data received event when the response has been received from the SSS.
c
()8.3.5 Vin_SsvReceiveMac[SWS_Vin_0083] d
Service nameVin_SsvReceiveMac
Syntaxvoid Vin_SsvReceiveMac(
void
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
DescriptionCalled on a data received event when the MAC has been received.
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 20 of 38
8.3.6 Vin_SsvStateGet[SWS_Vin_0084] d
Service nameVin_SsvStateGet
SyntaxStd_ReturnType Vin_SsvStateGet(
uint8 * mac,
uint8 * errorCounter,
uint32 * counterbase
)
Service ID[HEX]-
Sync/AsyncSynchronous
ReentrancyNon Reentrant
Parameters (out)mac
current MAC
errorCounter
current error counter
counterbase
current counterbase
DescriptionReturns the current SSV state.
c
()Note: This function is needed by the Fscsm module for the FAT test
8.3.7 Modes, Types and Mappings[SWS_Vin_0006] d
CompuMethod CM_LifeCycleRequest {
Category: TEXTTABLE
VIN_INITIALIZED = 0
VIN_RUNNING = 1
VIN_STOPPED = 2
}
c
()[SWS_Vin_0008] d
CompuMethod CM_VinQualifier {
Category: TEXTTABLE
VIN_QUAL_INIT = 0
VIN_QUAL_RECEIVED = 1
VIN_QUAL_EQ_INTERNAL = 2
VIN_QUAL_SECURE_PENDING = 4
VIN_QUAL_SECURE_FINISHED = 8
VIN_QUAL_SECURE_OK = 16
VIN_QUAL_SECURE_MASK = 28
}
c
()[SWS_Vin_0009] d
ImplementationDataType VinArrayType {
Category: ARRAY uint8[7]
SizeSemantics: FIXED-SIZE
}
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 21 of 38
[SWS_Vin_0085] d
ImplementationDataType Vin_ChallengeArrayType {
Category: ARRAY uint8[5]
SizeSemantics: FIXED-SIZE
}
c
()[SWS_Vin_0086] d
ImplementationDataType Vin_ChallengeRecordType {
Category: STRUCTURE
Elements:
{
TYPE_REFERENCE uint8 SssId;
TYPE_REFERENCE uint8 SsvId;
TYPE_REFERENCE Vin_ChallengeArrayType Challenge;
}
}
c
()[SWS_Vin_0010] d
ImplementationDataType Vin_ComVinType {
Category: STRUCTURE
Elements:
{
TYPE_REFERENCE uint8 Vin1;
TYPE_REFERENCE uint8 Vin2;
TYPE_REFERENCE uint8 Vin3;
TYPE_REFERENCE uint8 Vin4;
TYPE_REFERENCE uint8 Vin5;
TYPE_REFERENCE uint8 Vin6;
TYPE_REFERENCE uint8 Vin7;
}
}
c
()[SWS_Vin_0109] d
ImplementationDataType Vin_CounterBaseArrayType {
Category: ARRAY uint8[3]
SizeSemantics: FIXED-SIZE
}
c
()[SWS_Vin_0011] d
ImplementationDataType Vin_LifeCycleRequestType {
implementationDataType = uint8
compuMethod = CM_LifeCycleRequest
}
c
()[SWS_Vin_0012] d
ImplementationDataType Vin_QualifierType {
implementationDataType = uint8
compuMethod = CM_VinQualifier
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 22 of 38

}
c
()[SWS_Vin_0087] d
ImplementationDataType Vin_ResponseRecordType {
Category: STRUCTURE
Elements:
{
TYPE_REFERENCE uint8 SsvId;
TYPE_REFERENCE uint32 CounterBase;
TYPE_REFERENCE uint32 Signature;
}
}
c
()[SWS_Vin_0088] d
ImplementationDataType Vin_SSVMACArrayType {
Category: ARRAY uint8[8]
SizeSemantics: FIXED-SIZE
}
c
()[SWS_Vin_0089] d
ImplementationDataType Vin_SSVMACRecordType {
Category: STRUCTURE
Elements:
{
TYPE_REFERENCE Vin_SSVMACArrayType Mac;
}
}
c
()[SWS_Vin_0014] d
ImplementationDataType Vin_VinType {
Category: STRUCTURE
Elements:
{
TYPE_REFERENCE VinArrayType Vin;
TYPE_REFERENCE Vin_QualifierType Qualifier;
}
}
c
()[SWS_Vin_0015] d
ModeDeclarationGroup Vin_ChangeIndicator {
{
VIN_CI_INIT = 0,
VIN_CI_NOCHANGE = 1,
VIN_CI_CHANGED = 2
}
initialMode = VIN_CI_INIT
}
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 23 of 38

c
()[SWS_Vin_0016] d
ModeDeclarationGroup Vin_LifeCycle {
{
VIN_INITIALIZED = 0,
VIN_RUNNING = 1,
VIN_STOPPED = 2
}
initialMode = VIN_STOPPED
}
c
()[SWS_Vin_0017] d
ModeDeclarationGroup Vin_VinComMode {
{
VIN_VINCOMON = 0,
VIN_VINCOMOFF = 1
}
initialMode = VIN_VINCOMOFF
}
c
()8.3.8 Provided Interfaces[SWS_Vin_0110] d
ClientServerInterface ChassisNumberAuthentication {
PossibleErrors {
}
generateAuthenticationCode(
IN uint8 secureSignalVerifierId,
IN Vin_ChallengeArrayType challenge,
OUT Vin_CounterBaseArrayType counterBase,
OUT Vin_CounterBaseArrayType authCodeCounterBase,
OUT Vin_SSVMACArrayType authCodeVIN,
ERR{}
);
}
c
()[SWS_Vin_0121] d
ClientServerInterface FieldGetterSetterChassisNumber {
PossibleErrors {
}
FieldGetterChassisNumber(
OUT Vin_ComVinType Getter,
ERR{}
);
}
c
()[SWS_Vin_0093] d
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 24 of 38

ClientServerInterface SSVState {
PossibleErrors {
E_NOT_OK = 1
}
Get(
OUT Vin_SSVMACArrayType mac,
OUT uint8 errorCounter,
OUT uint32 counterbase,
ERR{E_NOT_OK}
);
}
c
()[SWS_Vin_0090] d
SenderReceiverInterface Challenge {
Vin_ChallengeRecordType Challenge;
}
c
()[SWS_Vin_0018] d
SenderReceiverInterface ComVin {
Vin_ComVinType ComVin;
}
c
()[SWS_Vin_0020] d
SenderReceiverInterface ILifeCycleRequest {
Vin_LifeCycleRequestType requestMode;
}
c
()[SWS_Vin_0091] d
SenderReceiverInterface Response {
Vin_ResponseRecordType Response;
}
c
()[SWS_Vin_0092] d
SenderReceiverInterface SSVErrorCode {
uint8 ErrorCode;
}
c
()[SWS_Vin_0094] d
SenderReceiverInterface SSVVinMac {
Vin_SSVMACRecordType Mac;
}
c
()[SWS_Vin_0021] d
SenderReceiverInterface Vin {
Vin_VinType Vin;
}
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 25 of 38

c
()[SWS_Vin_0023] d
SenderReceiverInterface VinRequest {
uint16 RequestMessageIdentifier;
}
c
()[SWS_Vin_0112] d
SenderReceiverInterface Vin_InternalCheckVinTrigger {
uint8 Trigger;
}
c
()[SWS_Vin_0019] d
ModeSwitchInterface ILifeCycle {
Vin_LifeCycle Mode;
}
c
()[SWS_Vin_0111] d
ModeSwitchInterface IVinChangeIndicator {
Vin_ChangeIndicator ChangeIndicator;
}
c
()[SWS_Vin_0022] d
ModeSwitchInterface VinCom {
Vin_VinComMode Mode;
}
c
()8.3.9 Expected Interfaces[SWS_Vin_0095] d
ClientServerInterface Vin_DiagnosticMonitor {
PossibleErrors {
E_NOT_OK = 1
}
SetEventStatus(
IN Dem_EventStatusType EventStatus,
ERR{E_NOT_OK}
);
}
c
()[SWS_Vin_0096] d
ClientServerInterface DETService {
PossibleErrors {
E_NOT_OK = 1
}
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 26 of 38

ReportError(
IN uint8 InstanceId,
IN uint8 ApiId,
IN uint8 ErrorId,
ERR{E_NOT_OK}
);
}
c
()[SWS_Vin_0024] d
ClientServerInterface EcuInfo {
PossibleErrors {
E_NOT_OK = 1
}
GetEcuId(
OUT uint8 ecuId,
ERR{E_NOT_OK}
);
GetVin(
OUT Dlog_VinArrayType Vin,
ERR{E_NOT_OK}
);
}
c
()[SWS_Vin_0098] d
ClientServerInterface FscsmApplSwcInterface {
PossibleErrors {
FSCSM_E_NOT_OK = 1,
FSCSM_E_MISSING_KEYS = 2,
FSCSM_E_NOT_VERIFIED = 3,
FSCSM_E_DOES_NOT_DECRYPT = 4,
FSCSM_E_DOES_NOT_ENCRYPT = 5,
FSCSM_E_NOT_EXPORTABLE = 6
}
VerifyMessage(
IN Fscsm_MessageArrayType messageToVerify,
IN uint16 messageLength,
IN Fscsm_MessageArrayType macToVerify,
IN uint16 macLength,
ERR{FSCSM_E_NOT_OK,FSCSM_E_NOT_VERIFIED,FSCSM_E_MISSING_KEYS}
);
}
c
()[SWS_Vin_0099] d
ClientServerInterface RandomNumberGenerator {
PossibleErrors {
E_NOT_OK = 1
}
GenerateRandomNumber(
OUT Fscsm_MessageArrayType buffer,
IN uint32 length,
ERR{E_NOT_OK}
);
}
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 27 of 38
[SWS_Vin_0100] d
SenderReceiverInterface VK_Established {
boolean Flag;
}
c
()[SWS_Vin_0101] d
ClientServerInterface Vin_NvMNotifyJobFinished {
PossibleErrors {
E_OK = 0
}
JobFinished(
IN uint8 ServiceId,
IN NvM_RequestResultType JobResult,
ERR{E_OK}
);
}
c
()[SWS_Vin_0102] d
ClientServerInterface Vin_NvMService {
PossibleErrors {
E_NOT_OK = 1
}
GetErrorStatus(
OUT NvM_RequestResultType RequestResultPtr,
ERR{E_NOT_OK}
);
ReadBlock(
IN NvM_DstPtrType DstPtr,
ERR{E_NOT_OK}
);
WriteBlock(
IN NvM_SrcPtrType SrcPtr,
ERR{E_NOT_OK}
);
}
c
()8.3.10 Service Definition[SWS_Vin_0026] d
Service Vin
{
ProvidePort
Vin_NvMNotifyJobFinished NvMNotifyJobFinished_Vin
ProvidePort
Challenge SSVChallengeToSSS
ProvidePort
SSVErrorCode SSVErrorCode
ProvidePort
SSVState SSVState
ProvidePort
Vin Vin
ProvidePort
IVinChangeIndicator VinChangeIndicator
ProvidePort
VinRequest VinRequest
RequirePort
ComVin ComVin
RequirePort
DETService DETService_Vin
RequirePort
Vin_DiagnosticMonitor DiagnosticMonitor_FscsmErrorEvent
RequirePort
EcuInfo DlogEcuInfo
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 28 of 38

RequirePort
FscsmApplSwcInterface FscsmCryptographicFunctions
RequirePort
VK_Established FscsmVK_Established
RequirePort
ILifeCycleRequest LifeCycleRequest
RequirePort
Vin_NvMService NvMService_Vin
RequirePort
RandomNumberGenerator RandomNumberGenerator
RequirePort
Response SSVResponseFromSSS
RequirePort
SSVVinMac SSVVinMacFromSSS
RequirePort
VinCom VinCom
ProvideRequirePort
Vin_InternalCheckVinTrigger InternalCheckVinTrigger
ProvideRequirePort
ILifeCycle LifeCycle
}
c
()8.3.11 Runnables and Entry Points[SWS_Vin_0027] d
Internal behavior of Vin
{
RunnableEntity Vin_LifeCycleModeRequest
Symbol "Vin_LifeCycleModeRequest"
canbeInvokedConcurrently = false
RunnableEntity Vin_Main
Symbol "Vin_Main"
canbeInvokedConcurrently = false
RunnableEntity Vin_NvmJobFinished
Symbol "Vin_NvmJobFinished"
canbeInvokedConcurrently = false
RunnableEntity Vin_OnComOff
Symbol "Vin_OnComOff"
canbeInvokedConcurrently = false
RunnableEntity Vin_OnComOn
Symbol "Vin_OnComOn"
canbeInvokedConcurrently = false
RunnableEntity Vin_OnVinChangeIndicatorAck
Symbol "Vin_OnVinChangeIndicatorAck"
canbeInvokedConcurrently = false
RunnableEntity Vin_ReceiveFromCom
Symbol "Vin_ReceiveFromCom"
canbeInvokedConcurrently = false
RunnableEntity Vin_SsvCheckVin
Symbol "Vin_SsvCheckVin"
canbeInvokedConcurrently = false
RunnableEntity Vin_SsvOnVkEstablished
Symbol "Vin_SsvOnVkEstablished"
canbeInvokedConcurrently = false
RunnableEntity Vin_SsvReceiveMac
Symbol "Vin_SsvReceiveMac"
canbeInvokedConcurrently = false
RunnableEntity Vin_SsvReceiveResponseFromSss
Symbol "Vin_SsvReceiveResponseFromSss"
canbeInvokedConcurrently = false
RunnableEntity Vin_SsvStateGet
Symbol "Vin_SsvStateGet"
canbeInvokedConcurrently = false
}
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 29 of 38
[SWS_Vin_0113] d
Service VinSIAdapter
{
ProvidePort
ComVin ComVin
ProvidePort
Response SSVResponseFromSSS
ProvidePort
SSVVinMac SSVVinMacFromSSS
RequirePort
Challenge Challenge
RequirePort
FieldGetterSetterChassisNumber ChassisNumber
RequirePort
ChassisNumberAuthentication ChassisNumberAuthentication
RequirePort
ComVin ChassisNumberNotifier
RequirePort
VinRequest VinRequest
}
c
()8.3.12 Runnables and Entry Points[SWS_Vin_0114] d
Internal behavior of VinSIAdapter
{
RunnableEntity Vin_SIAChallenge
Symbol "Vin_SIAChallenge"
canbeInvokedConcurrently = false
RunnableEntity Vin_SIAGetterChassisNumberReturn
Symbol "Vin_SIAGetterChassisNumberReturn"
canbeInvokedConcurrently = false
RunnableEntity Vin_SIANotifyChassisNumber
Symbol "Vin_SIANotifyChassisNumber"
canbeInvokedConcurrently = false
RunnableEntity Vin_SIARequest
Symbol "Vin_SIARequest"
canbeInvokedConcurrently = false
}
c
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 30 of 38
9Sequence DiagramsNone
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 31 of 38
10ConfigurationIn general, this chapter defines configuration parameters and their clustering into containers. In order to
support the specification Chapter
10.1 describes fundamentals. It also specifies a template (table) you
shall use for the parameter specification. We intend to leave Chapter
10.1 in the specification to guarantee
comprehension. Chapter
10.2 specifies the structure (containers) and the parameters of the module Vin.
10.1 How to read this chapterIn addition to this section, it is highly recommended to read the document
AUTOSAR Layered Software Architecture
[7]
AUTOSAR ECU Configuration Specification
[8]
This document describes the AUTOSAR configuration methodology and the AUTOSAR configuration
metamodel in detail.
The following is only a short survey of the topic and it will not replace the ECU Configuration Specification
document.
10.1.1 Configuration and configuration parametersConfiguration parameters define the variability of the generic part(s) of an implementation of a module.
This means that only generic or configurable module implementation can be adapted to the environment
(software/hardware) in use during system and/or ECU configuration.
The configuration of parameters can be achieved at different times during the software process: before
compile time, before link time or after build time. In the following, the term "Configuration class" (of a
parameter) shall be used in order to refer to a specific configuration point in time.
10.1.2 VariantsThe SWT module has the following variants:
[SWS_StbP_0008] dVARIANT-PRE-COMPILE: Only parameters with "Pre-compile time" configuration
are allowed. c
()10.1.3 ContainersContainers structure the set of configuration parameters. This means:
all configuration parameters are kept in containers.
(sub-) containers can reference (sub-) containers. It is possible to assign a multiplicity to these
references. The multiplicity then defines the possible number of instances of the contained parameters.
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 32 of 38
10.2 Containers and configuration parametersModule NameVin
Module DescriptionVin Module
Included Containers
Container NameMultiplicityScope / DependencyCommonPublishedInformation
1
Common container, aggregated by all modules. It contains
published information about vendor and versions.
VinGeneral
1
This container contains the configuration (parameters) of the
Vin module.
SecureVin
0..1
MultiConfig
1
10.2.1 CommonPublishedInformationSWS ItemSWS_Vin_0115
Container NameCommonPublishedInformation
DescriptionCommon container, aggregated by all modules. It contains published information
about vendor and versions.
Configuration Parameters[SWS_Vin_0116] d
NameSwMajorVersion
DescriptionMajor version number of the vendor specific implementation of the module.
Multiplicity1
TypeEcucIntegerParamDef
Default Value3
Configuration ClassPre-compile time--
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0117] d
NameSwMinorVersion
DescriptionMinor version number of the vendor specific implementation of the module. The
numbering is vendor specific.
Multiplicity1
TypeEcucIntegerParamDef
Default Value4
Configuration ClassPre-compile time--
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0118] d
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 33 of 38
NameSwPatchVersion
DescriptionPatch level version number of the vendor specific implementation of the module.
The numbering is vendor specific.
Multiplicity1
TypeEcucIntegerParamDef
Default Value1
Configuration ClassPre-compile time--
Link time--
Post-build time--
Scope / Dependencyc
()10.2.2 VinGeneralSWS ItemSWS_Vin_0028
Container NameVinGeneral
DescriptionThis container contains the configuration (parameters) of the Vin module.
Configuration Parameters[SWS_Vin_0029] d
NameVinDevErrorDetect
DescriptionActivate/Deactivate the Development Error Detection and Notification.
Multiplicity1
TypeEcucBooleanParamDef
Default Valuefalse
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0031] d
NameVinRequestMessageIdentifier
DescriptionDefines the ID which must use to request the VIN signal.
Multiplicity1
TypeEcucIntegerParamDef
Range0..65535
Default Value32771
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0032] d
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 34 of 38
NameTimeoutInitialVinRequest
DescriptionTimeout between init an first VIN request in s.
Multiplicity1
TypeEcucFloatParamDef
Range0.0..25.0
Default Value0.3
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0033] d
NameTimeoutSubsequentVinRequests
DescriptionTimeout between a request and the next request in s.
Multiplicity1
TypeEcucFloatParamDef
Range0.1..25.0
Default Value1.0
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0119] d
NameMaxNumberVinRequests
DescriptionMaximum number of VIN requests.
Multiplicity1
TypeEcucIntegerParamDef
Range1..255
Default Value4
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0120] d
NameEnableSIAdapter
DescriptionEnables the Service Interface Adapter. This is needed for Ethernet
communication.
Multiplicity1
TypeEcucBooleanParamDef
Default Value0
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 35 of 38
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()10.2.3 SecureVinSWS ItemSWS_Vin_0030
Container NameSecureVin
Description
Configuration Parameters[SWS_Vin_0103] d
NameSecureVinRequestMessageIdentifier
DescriptionThe parameter defines the ID which the SSV must use to request a signed VIN
from its connected SSS.
Multiplicity1
TypeEcucIntegerParamDef
Range0..65535
Default Value57857
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0104] d
NameTimeoutMac
DescriptionThis parameter defines the time span in seconds in which the SSV expects to
receive the MAC message for the VIN from the SSS after requesting it.
Multiplicity1
TypeEcucFloatParamDef
Range0.1..3
Default Value1.0
Configuration ClassPre-compile timeX
PRECONFIGURED-
CONFIGURATION
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0105] d
ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 36 of 38
NameTimeoutCounterbase
DescriptionThis parameter defines the time span in seconds in which the SSV expects to
receive an answer from a SSS after sending a challenge to the SSS.
Multiplicity1
TypeEcucFloatParamDef
Range0.1..3
Default Value1.0
Configuration ClassPre-compile timeX
PRECONFIGURED-
CONFIGURATION
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0106] d
NameErrorlimitCounterbase
DescriptionThis parameter defines the maximum number of times the CounterBase of an
SSS can be requested by an SSV. If the SSV could not obtain a valid
CounterBase within FscsmSSVChallengeFailedLimit times, the SSV enters an
error state.
Multiplicity1
TypeEcucIntegerParamDef
Range1..10
Default Value3
Configuration ClassPre-compile timeX
PRECONFIGURED-
CONFIGURATION
Link time--
Post-build time--
Scope / Dependencyc
()[SWS_Vin_0108] d
NameRemoteSSSId
DescriptionThis parameter defines the ID of the SSS to which this SSV is connected. This
information is needed to be able to perform the ChallengeResponse protocol
correctly.
Multiplicity1
TypeEcucIntegerParamDef
Range0..255
Default Value0
Configuration ClassPre-compile timeX
VARIANT-PRE-COMPILE
Link time--
Post-build time--
Scope / Dependencyc
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 37 of 38
10.2.4 MultiConfigSWS Item
Container NameMultiConfig
Description
Configuration Parameters[SWS_Vin_0107] d
NameSSVId
DescriptionThe unique ID of the SSV. Only relevant, if SecureVin is configured.
Multiplicity1
TypeEcucIntegerParamDef
Range0..255
Default Value0
Configuration ClassPre-compile time--
Link time--
Post-build timeX
VARIANT-POST-BUILD
Scope / Dependencyc
()ModuleSpecification_Vin, Version 3.5.0, Software Platforms
Page 38 of 38
Document Outline
7 - ReleaseNotes_Vin
9 - ReleaseNotes_Vins

Release Notes Vin
Project
BMW AUTOSAR Core 4 Rel. 2
Author
BMW AG
Release Date
2017-02-23
Version
3.5.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
VersionDateIssues3.5.0
2017-02-23
BAC-5764, BAC-5691
3.4.2
2016-10-27
BAC-5544, BAC-5437
3.4.1
2016-08-25
BAC-5426, BAC-5407, BAC-5399, BAC-5286, BAC-5198
3.4.0
2016-03-17
BAC-5049, BAC-5031, BAC-4928
3.3.0
2015-12-11
BAC-4763, BAC-4756, BAC-4702, BAC-4629, BAC-4562
3.2.0
2015-07-10
BAC-4471, BAC-4409, BAC-4349, BAC-4345, BAC-4335,
CompanyBAC-4266, BAC-4265, BAC-4230, BAC-4163, BAC-4129,
Bayerische
Motoren Werke
BAC-3558
Aktiengesellschaft
Postal address3.1.0
2015-03-13
BAC-4108, BAC-3980, BAC-3927, BAC-3868, BAC-3861,
BMW AG
80788 München
BAC-3822, BAC-3658
Office addressForschungs- und
3.0.0
2014-10-29
Innovationszentrum
(FIZ)
Hufelandstr. 1
80937 München
TelephoneSwitchboard
+49 89 382-0
Internetwww.bmwgroup.com
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 1 of 12
1Package Enumeration SchemeEvery package carries a 3-digit version number. The following table explains how compatibility between
versions can be determined from the version number:
Changed VersionExampleCompatibilityPatch Version
1.0.0 → 1.0.1
A defect has been fixed. Versions are fully
compatible.
Minor Version
1.0.0 → 1.1.0
API of package changed or a new feature was
added. Versions may not be compatible. If the new
package is used, other packages may be changed
as well.
Major Version
1.0.0 → 2.0.0
Indicates the BAC4 Release, in which the module
is delivered. Major Version 2 of a module refers to
BAC4 Rel. 1. Major Version 3 of a module refers to
BAC4 Rel. 2.
2Package DescriptionThe Vin module is used to request the VIN over the bus, set the qualifier and hand it over to application
software components.
This package is maintained by BMW AUTOSAR Core 4 Support, via ASCENT Jira
(https://asc.bmwgroup.net/jira/browse/BSUP or https://asc.bmw.com/jira/browse/BSUP) or telephone
hotline (+49-89-382-32233).
3Revisions and Modifications3.1 Revision 3.5.0 [Released]ItemDescriptionCR ID:
BAC-5764
CR Headline:
Vin: Inter-ECU communication with
SYNCHRONOUS-SERVER-CALL-POINT considered harmful
Description of Issues:
The RUNNABLE-ENTITY "Vin_SIAChallenge" uses a
SYNCHRONOUS-SERVER-CALL-POINT
"scp_generateAuthenticationCo" with TIMEOUT "0.0" for
inter-ECU communication. This may cause the executing task to
wait for ever, making it necessary to map the invoking
DATA-RECEIVED-EVENT "dre_Challenge" to its own exclusive
extended task, because other events mapped to the same task
would never get executed if the communication is not finished.
Please check for alternatives.
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 2 of 12

Description of Changes:
use asynchronous server call point for
ChassisNumberAuthentication/generateAuthenticationCode
Changed Files:
generate/swcd/Vin_internal.arxml.tt
src/Vin_SIAdapter.c
Compatibility:
ItemDescriptionCR ID:
BAC-5691
CR Headline:
Signed message is requested only once
Description of Issues:
Signed message is requested only once
Description of Changes:
request MAC multiple times before going into error state
Changed Files:
generate/include/Vin_Cfg.h.tt
src/Vin_Ssv.c
Compatibility:
3.2 Revision 3.4.2 [Released]ItemDescriptionCR ID:
BAC-5544
CR Headline:
Do not request MAC/Counterbase before reception of the VIN
Description of Issues:
Do not request MAC/Counterbase before reception of the VIN
Description of Changes:
Do not request MAC/Counterbase before reception of the VIN
Changed Files:
src/Vin.c
Compatibility:
ItemDescriptionCR ID:
BAC-5437
CR Headline:
Vin IntegrationManual: NvMNvBlockLength might depend on
compiler
Description of Issues:
The values for NvMNvBlockLength given in the IntegrationManuals
might be incorrect (depending on compiler optimisation).
Description of Changes:
Add a note on NVM block length in integration manual
Changed Files:
doc/IntegrationManual_Vin.pdf
Compatibility:
3.3 Revision 3.4.1 [Released]ItemDescriptionCR ID:
BAC-5426
CR Headline:
VIN: Integration Manual: NvMBlockWriteProt true
Description of Issues:
In Integration Manual you can find:
NvMBlockWriteProt true
but Vin module cannot handle this
Description of Changes:
fix NVM configuration
Changed Files:
doc/IntegrationManual_Vin.pdf
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 3 of 12

Compatibility:
ItemDescriptionCR ID:
BAC-5407
CR Headline:
VIN: missing memory mapping of the code in Vin_Dlog.c and
Vin_SIAdapter.c.
Description of Issues:
Missing memory mapping of the code in Vin_Dlog.c and
Vin_SIAdapter.c.
Description of Changes:
Add missing memory mapping.
Changed Files:
src/Vin_Dlog.c
src/Vin_SIAdapter.c
Compatibility:
ItemDescriptionCR ID:
BAC-5399
CR Headline:
VIN: Vin_CurrentVin.Vin not initalized in VinInit
Description of Issues:
As Vin_CurrentVin.Vin is not initialized during c-startup (
Vin_START_SEC_VAR_NO_INIT_UNSPECIFIED) and not
initialized in Vin_init, a reset does not clear the containing last
received VIN. At next startup (without power-loss) the variable still
contains the VIN. Therefore the reception of the bus-vin via
Vin_ReceiveFromCom is ignored and Vin_NotifyVinReceived() is
not called.
A call of Vin_ReceiveFromCom before Vin_Init also leads to this
problem.
Description of Changes:
Always handle received VIN, if no VIN has been received before.
Changed Files:
src/Vin_Com.c
Compatibility:
ItemDescriptionCR ID:
BAC-5286
CR Headline:
Vin: Memcopy from struct to array
Description of Issues:
Using memcopy to copy data from an struct to an array is not
allowed.
Description of Changes:
Copy single elements of struct to array instead of using memcpy.
Changed Files:
src/Vin_Com.c
Compatibility:
ItemDescriptionCR ID:
BAC-5198
CR Headline:
Please remove UUIDs
Description of Issues:
remove UUIDs in arxml files
Description of Changes:
remove UUIDs in arxml files
Changed Files:
generate/swcd/Vin_internal.arxml.tt
Compatibility:
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 4 of 12
3.4 Revision 3.4.0 [Released]ItemDescriptionCR ID:
BAC-5049
CR Headline:
Vin: Write frequency of NVM blocks shall be specified in integration
manual
Description of Issues:
For correct configuration/wearing estimation of flash, the write
frequency of BAC modules for their specified NvM blocks shall be
specified. Although most of the time NO exact number can be
given as it is ECU, use case, environment (customer behaviour)
specific a rough information should be given, that allows the
integrator to make a conclusion on that.
Description of Changes:
Specify write frequency of NVM blocks in integration manual.
Changed Files:
doc/IntegrationManual_Vin.pdf
Compatibility:
ItemDescriptionCR ID:
BAC-5031
CR Headline:
Use getter method to get the VIN in case it is not delivered upon
subscription
Description of Issues:
Use getter method to get the VIN in case it is not delivered upon
subscription on Ethernet.
Description of Changes:
Use getter method to get the VIN in case it is not delivered upon
subscription on Ethernet.
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
generate/include/Vin_Cfg.h.tt
generate/make/Vin_Cfg.mak.tt
generate/swcd/Vin_internal.arxml.tt
generate/verify/Vin.autoverify.tt
src/Vin_SIAdapter.c
swcd/Vin_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-4928
CR Headline:
Challenge shall not be reversed on Ethernet
Description of Issues:
Challenge shall not be reversed on Ethernet
Description of Changes:
do not reverse challenge on Ethernet
Changed Files:
src/Vin_Ssv.c
Compatibility:
3.5 Revision 3.3.0 [Released]ItemDescriptionCR ID:
BAC-4763
CR Headline:
Vin: Naming of Rte_Write function is wrong
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 5 of 12

Description of Issues:
The name of function Rte_Write_Vin_SSVErrorCode_ErrorCode is
wrong.
Description of Changes:
correct Rte_Write_Vin_SSVErrorCode_ErrorCode to
Rte_Write_SSVErrorCode_ErrorCode
Changed Files:
src/Vin_Ssv.c
Compatibility:
ItemDescriptionCR ID:
BAC-4756
CR Headline:
Vin: IntegrationManuals: signal names for Ethernet
Description of Issues:
Currently, the IntegrationManuals are using signal short names as
given in the DBN / BNE for Can/Flexray communication. The
names for ethernet are different and can't always be found without
greater effort.
Description of Changes:
added a note on the signal names in Ethernet
Changed Files:
doc/IntegrationManual_Vin.pdf
Compatibility:
ItemDescriptionCR ID:
BAC-4702
CR Headline:
Vin: Adapt ECUC and SWCD schema to 4.2.2
Description of Issues:
Adapt ECUC and SWCD schema to 4.2.2
Description of Changes:
Adapt ECUC and SWCD schema to 4.2.2
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
generate/swcd/Vin_internal.arxml.tt
swcd/Vin_ext_interfaces.arxml
swcd/Vin_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-4629
CR Headline:
Integration Manual Vin: P-Port VinRequest
Description of Issues:
Mapping of P-Port VinRequest is not clear
Description of Changes:
clarify data mapping in integration manual
Changed Files:
doc/IntegrationManual_Vin.pdf
Compatibility:
ItemDescriptionCR ID:
BAC-4562
CR Headline:
Vin: ID_FN_INQY change in BNE
Description of Issues:
For SP2018, ID_FN_INQY has changed: - the comment
"ACHTUNG: Dieses Signal bildet bezüglich des Byte-Orderings
eine Ausnahme ..." is deleted in the Message Katalog - the byte
order of the values in the code table for ID_FN_INQY are changed
(e.g. the code value for "Fahrgestellnummer" is changed from
0x0380 to 0x8003)
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 6 of 12

Description of Changes:
Switched endianess in default values of
VinRequestMessageIdentifier and
SecureVinRequestMessageIdentifier.
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
Compatibility:
3.6 Revision 3.2.0 [Released]ItemDescriptionCR ID:
BAC-4471
CR Headline:
Not receiving the MAC is should not be considered an error for the
SSV
Description of Issues:
Not receiving the MAC is should not be considered an error for the
SSV -] Qualifier should remain in pending in this case.
Description of Changes:
Do not consider not receiving the MAC an error for the SSV, i.e. do
not go into an error state
Changed Files:
src/Vin_Ssv.c
Compatibility:
ItemDescriptionCR ID:
BAC-4409
CR Headline:
Support runnables in concurrent tasks
Description of Issues:
Support runnables in concurrent tasks
Description of Changes:
Support runnables in concurrent tasks
Changed Files:
generate/swcd/Vin_internal.arxml.tt
include/Vin.h
src/Vin.c
src/Vin_Com.c
src/Vin_Ssv.c
swcd/Vin_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-4349
CR Headline:
Vin: Missing INIT-VALUE
Description of Issues:
RTE51034 Unconnected data element prototoype 'Flag' of port
'FscsmVK_Established' of component 'Vin' does not provide an
initial value.
Description of Changes:
added init value to FscsmVK_Established
Changed Files:
generate/swcd/Vin_internal.arxml.tt
Compatibility:
ItemDescriptionCR ID:
BAC-4345
CR Headline:
Vin: Helper macros not compliant with SW-C design
Description of Issues:
Vin_Helper.h shall include only Vin_Version.h.
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 7 of 12

Description of Changes:
include only Vin_Version.h in Vin_Helper.h
Changed Files:
include/Vin_Helper.h
Compatibility:
ItemDescriptionCR ID:
BAC-4335
CR Headline:
Dlog, Fscsm, Swt, Vin: All [Module]_ext_interfaces.arxml should be
conform to AUTOSAR Blueprint
Description of Issues:
All Types, CompuMethods, Interfaces etc. in
[Module]_ext_interfaces.arxml shall be defined according to the
definitions in the AUTOSAR Blueprint for BSWServiceInterfaces.
In particular ImplementationDataTypes shall have category
TPYE_REFERENCE instead of VALUE.
Description of Changes:
use TYPE_REFERENCE instead of VALUE for implementation
data types
Changed Files:
swcd/Vin_ext_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-4266
CR Headline:
Transmission acknowledgment for 1:n communication not
supported
Description of Issues:
Transmission acknowledgment for 1:n communication not
supported
Description of Changes:
remove unnecessary TRANSMISSION-ACKNOWLEDGE
Changed Files:
generate/swcd/Vin_internal.arxml.tt
Compatibility:
ItemDescriptionCR ID:
BAC-4265
CR Headline:
add Vin_ChangeIndicator
Description of Issues:
add Vin_ChangeIndicator as described by BAC-1921 and
requested by BSUP-3669.
Description of Changes:
added Vin_ChangeIndicator as described by BAC-1921 and
requested by BSUP-3669.
Changed Files:
generate/swcd/Vin_internal.arxml.tt
include/Vin_Helper.h
src/Vin.c
src/Vin_Com.c
src/Vin_Ssv.c
swcd/Vin_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-4230
CR Headline:
Make max number of VIN requests configurable
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 8 of 12

Description of Issues:
Make max number of VIN requests configurable.
Description of Changes:
Make max number of VIN requests configurable.
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
generate/include/Vin_Cfg.h.tt
generate/verify/Vin.autoverify.tt
src/Vin.c
Compatibility:
ItemDescriptionCR ID:
BAC-4163
CR Headline:
Vin: 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:
remove R-Port LifeCycleLoopBack and use PR-Port for LifeCycle
instead
Changed Files:
generate/swcd/Vin_internal.arxml.tt
Compatibility:
ItemDescriptionCR ID:
BAC-4129
CR Headline:
Make SSV-Id postbuild configurable
Description of Issues:
Make SSV-Id postbuild configurable
Description of Changes:
Make SSV-Id postbuild configurable
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
generate/include/Vin_Cfg.h.tt
generate/include/Vin_PBCfg.h.tt
generate/src/Vin_PBCfg.c.tt
generate/verify/Vin.autoverify.tt
make/Vin_defs.mak
make/Vin_rules.mak
sample/include/Vin_MemMap.h.sample
src/Vin_Ssv.c
Compatibility:
ItemDescriptionCR ID:
BAC-3558
CR Headline:
Vin: Extention of VIN-Request for Ethernet
Description of Issues:
The Vin module shall support also Ethernet.
Description of Changes:
- add SI adapter SWC - adapted request behavior to SI adapter -
added configuartion switch to enable or disable SI adapter
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
generate/include/Vin_Cfg.h.tt
generate/make/Vin_Cfg.mak.tt
generate/swcd/Vin_internal.arxml.tt
generate/verify/Vin.autoverify.tt
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 9 of 12

make/Vin_defs.mak
make/Vin_rules.mak
src/Vin_SIAdapter.c
src/Vin_Ssv.c
swcd/Vin_interfaces.arxml
Compatibility:
3.7 Revision 3.1.0 [Released]ItemDescriptionCR ID:
BAC-4108
CR Headline:
VIN: VIN becomes invalid if one single signal is invalid
Description of Issues:
The received VIN should be marked as invalid if one ore more
single signal contains '0xFF' (invalid content). Currently the VIN is
only marked as invalid if all single signals contains '0xFF'.
Description of Changes:
ignore VIN, if one signal is invalid
Changed Files:
src/Vin_Com.c
Compatibility:
ItemDescriptionCR ID:
BAC-3980
CR Headline:
Move SSV from Fscsm to Vin
Description of Issues:
Move SSV from Fscsm to Vin
Description of Changes:
Move SSV from Fscsm to Vin
Changed Files:
Makefile
autosar/Asr40/Vin_paramdef.arxml
generate/include/Vin_Cfg.h.tt
generate/include/Vin_Version.h.tt
generate/swcd/Vin_internal.arxml.tt
generate/verify/Vin.autoverify.tt
include/Vin.h
include/Vin_Dlog.h
include/Vin_Helper.h
include/Vin_Ssv.h
make/Vin_check.mak
make/Vin_defs.mak
make/Vin_rules.mak
sample/include/Vin_MemMap.h.sample
src/Vin.c
src/Vin_Com.c
src/Vin_Dlog.c
src/Vin_Fscsm.c
src/Vin_Ssv.c
swcd/Vin_ext_interfaces.arxml
swcd/Vin_interfaces.arxml
Compatibility:
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 10 of 12
ItemDescriptionCR ID:
BAC-3927
CR Headline:
Correct ConfigClass to PRE-COMPILE
Description of Issues:
The ConfigClass of parameters TimeoutInitialVinRequest and
TimeoutSubsequentVinRequests should be PRE-COMPILE
instead of PUBLISHED-INFORMATION.
Description of Changes:
set config class to PRE-COMPILE for TimeoutInitialVinRequest
and TimeoutSubsequentVinRequests
Changed Files:
autosar/Asr40/Vin_paramdef.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-3868
CR Headline:
Dlog, StbMBTestClient, Swt, Vin: DataTypes of ModeSwitch and
ModeRequest interfaces
Description of Issues:
For ModeSwitch-Interfaces and ModeRequest-Interfaces
(S/R-Interface) related to the same ModeDeclarationGroup the
following shall apply:
the data type of the VariableDataPrototype of the
ModeRequest-Interface (S/R-interface) shall be identical to the
ImplementationDataType that the ModeDeclarationGoup is
mapped to via a ModeRequestTypeMap. this
ImplementationDataType shall be extended with an ENUM-like
CompuMethod that corresponds to the Modes of the
ModeDeclarationGroup the ModeDeclarationGroup shall have
EXPLICIT_ORDER, the modes shall have values according to the
corresponding CompuMethod if the APIs Rte_Switch_...() or
Rte_Write_...() are called with literal values, only the literal values
RTE_MODE_[ModeDeclarationGroup]_[ModeDeclaration] shall be
used. variables used in context of the APIs Rte_Switch_...(),
Rte_Mode_...(), Rte_Read_...() and Rte_Write_...() shall be of the
same ImplementationDataType, and shall only be set to or be
compared with literal values
RTE_MODE_[ModeDeclarationGroup]_[ModeDeclaration] the
type Rte_ModeType_[ModeDeclarationGroup] is deprecated and
shall not be used.
Exceptions:
if the mode requestor does not reference the
ModeDeclarationGroup, the enumeration macros [EnumLiteral]
derived from the CompuMethod can be used to request a mode
via Rte_Write_...() (in this case the macros
RTE_MODE_[ModeDeclarationGroup]_[ModeDeclaration] are not
visible for the requestor) if the mode manager does not provide a
ModeRequest-Interface: a CompuMethod is not necessary the
category of the ModeDeclarationGroup can be either
ALPHABETIC_ORDER (default) or EXPLICIT_ORDER the
ModeRequestTypeMap can map the ModeDeclarationGroup
directly to a platform type like uint8 or uint16
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 11 of 12

Description of Changes:
- use explicit order for mode declaration groups - use
RTE_MODE... constants for evaluating mode values
Changed Files:
src/Vin.c
swcd/Vin_interfaces.arxml
Compatibility:
ItemDescriptionCR ID:
BAC-3861
CR Headline:
Vin: Content of tag [VENDOR-ID] in *_internal.arxml
Description of Issues:
The [VENDOR-ID] in *_internal.arxml shall be set to 5 (i.e. BMW
Vendor-Id).
Description of Changes:
change vendor id to 5
Changed Files:
generate/swcd/Vin_internal.arxml.tt
Compatibility:
ItemDescriptionCR ID:
BAC-3822
CR Headline:
Vin User Guide contains a TODO
Description of Issues:
Vin user guide contains:
4.2 Evaluating the Qualifier TODO
Description of Changes:
add content to section 4.2 "Evaluating the Qualifier"."
Changed Files:
doc/UserGuide_Vin.pdf
Compatibility:
ItemDescriptionCR ID:
BAC-3658
CR Headline:
Vin: Adapt makefiles to EA requirements
Description of Issues:
Adapt makefiles to EA requirements
Description of Changes:
Adapt makefiles to EA requirements
Changed Files:
make/Vin_defs.mak
Compatibility:
3.8 Revision 3.0.0 [Released]ItemDescriptionCR ID:
CR Headline:
Initial Release for SP2018
Description of Issues:
Initial Release for SP2018
Description of Changes:
Initial Release for SP2018
Changed Files:
Compatibility:
ReleaseNotes_Vin, Version 3.5.0, Software Platforms
Page 12 of 12
Document Outline
10 - UserGuide_Vin
12 - UserGuide_Vins

User Guide Vin
Project
BMW AUTOSAR Core 4 Rel. 2
Author
BMW AG
Release Date
2017-02-23
Version
3.5.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 DateChanged byDescription3.5.0
2017-02-23
Björn
No changes - only version update
Sachsenberg
3.4.2
2016-10-27
Björn
No changes - only version update
Sachsenberg
3.4.1
2016-08-25
Björn
No changes - only version update
Sachsenberg
CompanyBayerische
Motoren Werke
3.4.0
2016-03-17
Björn
Added section "Getting Notified about a
Aktiengesellschaft
Sachsenberg
Changed VIN"
Postal addressBMW AG
80788 München
3.3.0
2015-12-11
Björn
No changes - only version update
Office addressSachsenberg
Forschungs- und
Innovationszentrum
(FIZ)
3.2.0
2015-07-10
Björn
No changes - only version update
Hufelandstr. 1
80937 München
Sachsenberg
TelephoneSwitchboard
3.1.0
2015-03-13
Björn
Added content to section 4.2: "Evaluating the
+49 89 382-0
Sachsenberg
Qualifier"
Internetwww.bmwgroup.com
3.0.0
2014-10-29
Björn
Initial version
Sachsenberg
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 1 of 7
Table of Contents1 Overview31.1Purpose3
2 Acronyms and Abbreviations33 Related documentation53.1BMW Specifications5
3.2AUTOSAR Specifications5
4 Usage64.1Receiving the VIN and Qualifier6
4.2Evaluating the Qualifier6
4.3Getting Notified about a Changed VIN6
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 2 of 7
1Overview1.1 PurposeThe Vin module is used to request the VIN over the bus, set the qualifier and hand it over to
application software components.
The Vin module is modeled as an AUTOSAR software component (SWC) residing above the
RTE.
2Acronyms and AbbreviationsA&S
Authentication and Signature (Grundschutzmechanismen)
AllgGB
Allgemeine Gültigkeitsbedingung
AN
Applikationsnummer
API
Application Programming Interface
AppGB
Applikationsspezifische Gültigkeitsbedingung
AUTOSAR Automotive Open System Architecture
CA
Certification Authority
CAL
Cryptographic Abstraction Layer
CAS
Car Access System (Steuergerät)
CCC
Car Communication Computer
CKD
Completely Knocked Down. A BMW plant that is not connected to
the central BMW IT.
CSM
Client Security Module
CRL
Certificate Revocation List
DEK
Data Encryption Key
DER
Distinguished Encoding Rules (As described by ASN.1)
DES
Data Encryption Standard
DN
Distinguished Name
DTC
Diagnostic Trouble Code -> Fehlercode des Fehlerspeichereintrages
ECU
Electronic Control Unit
FAT
Flash-Absicherungs-Tool
FSC
Freischaltcode
FSCS
Freischaltcode-Stelle
FZG
Fahrzeug
FZG-R
BMW Fahrzeug-Root-CA
GB
Gültigkeitsbedingung
GG
Gültigkeitsgruppe
GMT
Greenwich Mean Time
HO
Handelsorganisation (BMW)
HW
Hardware
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 3 of 7

M-FSCS
Master-Freischaltcodestelle
OS
Operating System
PKI
Public Key Infrastrucutre
RCn
Routine Control Option n / Exit Result n
RI
Routine Identifier
RSA
Asymmetric Cryptoalgorithm by Rivest, Shamir und Adleman
RTE
Runtime Environment
SG
Steuergerät
SGID
Steuergeräte-ID, Diagnoseadresse, Steuergeräte-Adresse
SID
Service Identifier
SigS
SW-Signatur-Stelle
SW
Software
SW-C
Software Component
SWID
Software-ID consisting of application number and upgrade index
SWT
SWEEPING Technologies (SoftWare Enabled Electronic Platform for
Innovative Next Generation Technologies)
UDS
Universal Diagnostic Services
UI
Upgrade Index
UTC
Coordinated Universal Time
VCM
Vehicle Configuration Management
VIN
Vehicle Identification Number
VIN7
The last 7 digits of the 17-digit VIN
All abbreviations used throughout this document -- except the ones listed here -- can be found
in the official AUTOSAR glossary
[1].UserGuide_Vin, Version 3.5.0, Software Platforms
Page 4 of 7
3Related documentation3.1 BMW Specifications3.2 AUTOSAR Specifications[1] Glossary
AUTOSAR_TR_Glossary
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 5 of 7
4UsageThis section describes all functional Vin features to be used by an application.
4.1 Receiving the VIN and Qualifier1
Vin_VinType
ExternalVIN;
2
3
if( E_OK == Rte_Read_Vin_Vin_Vin(&ExternalVIN))
4
{
5
/* ExternalVIN.Vin contains the VIN,
6
ExternalVIN.Qualifier contains the corresponding qualifier */
7
}
4.2 Evaluating the QualifierThere is a macro to easily evaluate the qualifier in Vin_Helper.h. The check, whether an
external VIN has been received at all, use the following code snipped:
1
#include "Vin_Helper.h"
2
3
if (VIN_CHECKQUALIFIER(ExternalVIN.Qualifier, VIN_CQ_VIN_RECEIVED))
4
{
5
/* An external VIN has been received */
6
}
To check for a verified secure VIN, use
1
#include "Vin_Helper.h"
2
3
if (VIN_CHECKQUALIFIER(ExternalVIN.Qualifier, VIN_CQ_VIN_SECURE))
4
{
5
/* An external secured VIN has been received and verified */
6
}
For a plain VIN in an unsafe environment, use the same with VIN_CQ_VIN_UNSAFE.
4.3 Getting Notified about a Changed VINIf a received VIN is different from the last received VIN, the mode VinChangeIndicator is
switched to VIN_CI_CHANGED.
The mode will stay in VIN_CI_CHANGED until shutdown of the ECU. On the next start-up, the
mode will switch to VIN_CI_NOCHANGE if the same VIN is received.
Hint: If you need to trigger a long-running operation on a VIN change, you should write a flag
into NVM in your ON-ENTER Runnable and then trigger the operation. So if the ECU shuts down
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 6 of 7

before the long-running operation has finished, you can restart it in the next life cycle according
to the flag.
UserGuide_Vin, Version 3.5.0, Software Platforms
Page 7 of 7
Document Outline
13 - Vin Peer Review Checklists
Overview
Summary Sheet
Synergy Project
3rd Party Files
Sheet 1: Summary Sheet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Rev 1.0 | 19-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
Vin |
| Revision / Baseline: |
|
|
| Windows User:
Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved.
Vin_Bac_Ar4.2.2_03.05.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#4726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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_D02_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 : |
|
| 09/28/17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Lead Peer Reviewer: |
|
|
| Kevin Smith |
|
|
| Approved by Reviewer(s): |
|
|
|
| Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other Reviewer(s): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 package | | Yes |
| 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) | | Yes |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Component "doc" folder contains all documentation related to this component from 3rd party delivery package | | Yes |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Modifications from delivery to be reviewed (e.g. path changes)
Component "generate" folder contains all external generation files from 3rd party delivery package | | Yes |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Component "include" and "src" folder contains exact component files from 3rd party delivery package | | Yes |
| Comments: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Component "make" folder contains any makefiles included from 3rd party delivery package | | Yes |
| 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 settings | | Yes |
| 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 project | | Yes |
| 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 contents | | Yes |
| 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 : |
|
| 09/28/17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Lead Peer Reviewer: |
|
|
| Kevin Smith |
|
|
| Approved by Reviewer(s): |
|
|
|
| Yes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Other Reviewer(s): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|