Vector Flash Bootloader Technical Reference-1
Vector Flash Bootloader Technical Reference-1
Vector Flash Bootloader Technical Reference-1
Technical Reference
Vector UDS (SLP3) - Download Sequence Specification
Version 5.0
Document Information
History
Reference Documents
Caution
We have configured the programs in accordance with your specifications in the
questionnaire. Whereas the programs do support other configurations than the one
specified in your questionnaire, Vector´s release of the programs delivered to your
company is expressly restricted to the configuration you have specified in the
questionnaire.
Contents
1 Introduction............................................................................................................................ 5
4 Contact ................................................................................................................................. 21
Illustrations
Figure 2-1 Pre-Programming Step ........................................................................................ 7
Figure 2-2 Programming Step ............................................................................................... 8
Figure 2-3 Data Transmission ............................................................................................... 9
Figure 2-4 Post-Programming Step..................................................................................... 10
1 Introduction
2 Download Concept
The Vector SLP3 download sequence is a download sequence based on various examples
made by HIS and ISO 14229. It is an OEM independent interpretation of a download
sequence with some flexibility.
2.1 Overview
The flash tool (Diagnostic Tester) uses the UDS protocol to communicate with the ECU. This
tester can be located inside the vehicle or used as an external tester. The flash bootloader
processes the UDS services sent by the tester and supports the diagnostic services needed
to update an ECU.
The download process can be divided into three basic steps:
Pre-Programming Step: Preparation of the vehicle network and target ECU for
flashing. If an ECU is updated, this part of the flashing sequence is received and
handled by the application software.
Programming Step: Actual update sequence of the ECU. This part of the update
sequence is received by the flash bootloader of the updated ECU only.
Post-Programming Step: This step sets the vehicle network back to normal operation.
This step addresses all ECUs in the network and is executed by the updated
application software after a successful flashing sequence.
Note
The detailed sequences below show functional messages (broadcasts for all ECUs) in
grey and physical messages (messages dedicated to one ECU) in red. Steps which
are detailed later on are blue.
Mandatory Optional
SessionControl::ExtendedSession
RoutineControl::CheckProgrammingPreconditions
ControlDtc::DTC off
CommunicationControl::Disable communication
Mandatory Optional
SessionControl::ProgrammingSession
SecurityAccess ::RequestSeed/SendKey
WriteDataByIdentifier::WriteFingerprint
RoutineControl::EraseMemory
Download Data
RoutineControl::CheckProgrammingDependencies
EcuReset::HardReset
The flash driver download is optional. Depending on the configuration, the bootloader can
fall back to a flash driver stored in the ECU or always use the stored flash driver. A repetition
of the flash driver download (after the download data block) is possible as well.
The download of flash driver and data to be written to flash use the same download
sequence:
RequestDownload
TransferData
more data
RequestTransferExit
more segments
RoutineControl::CheckMemory
Routine Control – Erase Memory and the Data Transmission sequence must be executed
for each logical block. Depending on the bootloader configuration, one or more iterations of
the services Request Download, Transfer Data and Request Transfer Exit are allowed for
every logical block.
DiagnosticSessionControl::ExtendedSession
CommunicationControl:EnableNonDiagnosticCommunication
ControlDtc::DTC on
DiagnosticSessionControl::DefaultSession
Note
The service descriptions in [2] are generic definitions of UDS. Please note that this
bootloader package specifies the usage and interpretation of some parameters if they
are not specified in UDS in detail.
Note
This service is not necessary for the download sequence, but it can be used to obtain
useful information from the ECU. The DIDs can be implemented in user callouts and
are not defined by basic software parts of the delivery.
Caution
Please note that Vector SLP3 bootloaders include a demonstration seed/key algorithm.
This algorithm does not provide a secure access restriction in production ECUs and
should be replaced by a secure algorithm.
The security level (Request Seed subfunction) is configurable. It must be configured to the
same value in bootloader and vFlash. vFlash supports security levels $01 - $13.
2.2.4.2 Send Key
Security Access; Send Key $27 $(SL+1) – Request Message Format
Data Byte# Data Value Parameter Description
1 $27 Request Service ID
2 $(SL+1) Send Key. Subfunction is calculated from seed level: $(SL + 1)
3..x $xx Key calculated by tester
Positive Response Message Format
Data Byte# Data Value Parameter Description
1 $27 Response Service ID
2 $(SL+1) Send Key (SL+1)
The Send Key sub-function is the incremented Request Seed sub-function (SK = SL + 1).
The service is optional and can be deactivated on the ECU and in vFlash.
Routine Control; Check Programming Preconditions $31 $01 $02 $03
Request Message Format
Data Byte# Data Value Parameter Description
1 $31 Request Service ID
2 $01 Routine Control Type – Start Routine
3..4 $0203 Routine Identifier – Check Programming Preconditions
Positive Response Message Format
Data Byte# Data Value Parameter Description
1 $71 Response Service ID
2 $01 Routine Control Type – Start Routine
3..4 $0203 Routine Identifier – Check Programming Preconditions
5..x $xx Routine Status Record – Contains the preconditions that are not fulfilled.
3.1 Glossary
Term Description
NV-Memory Non-volatile memory: Memory which is used to store small amounts of
data which are not included in the download images and created during
the bootloader’s runtime.
3.2 Abbreviations
Abbreviation Description
ALFI Address/Length Format Identifier
BCD Binary Coded Digit
CAN Controller Area Network
DID Data Identifier
DFI Data Format Identifier
FBL Flash Bootloader
ECU Electronic Control Unit
HIS Herstellerinitiative Software
ISO International Organization for Standardization
LIN Local Interconnect Network
UDS Unified Diagnostic Services
4 Contact
> News
> Products
> Demo software
> Support
> Training data
> Addresses
www.vector.com