Programming Flow
Retry3
Values
Equal
Error
Error
Error
Error
Error
Error
Error
Not
Programmed
Error
Retry3
Error
“Start”
Utility File
Start
Step $01
Set Target and
Source Address
Step $06
Evaluate the Part
Number
RequestDownload $34 Service
TransferData $36
Step $0A
Set Global
Header Length
Step $10
Evaluate Programmed
State
“ProgOp”
Step $07
Set Global
Header Length
Error
Retry3
Error
Values Not Equal
Error
Success
ECU Fully Programmed Status
OpCode - $34
Step $03
Prepare to Download
Flash Routine #1
TransferData $36
Service
OpCode - $B0
Step $04
Download Flash
Routine #1 to RAM
ReadDataByIdentifier $1A Srvc.
OpCode - $1A
RequestDownload $34 Service
OpCode - $34
TransferData $36
Service
OpCode - $B0
Step $09
Download the
Operating Software
RequestDownload $34 Service
OpCode - $34
TransferData $36
Service
OpCode - $B0
TransferData $36
Service
OpCode - $B0
RequestDownload $34 Service
OpCode - $34
ReportProgrammedState $A2 Srvc
OpCode - $A2
SecurityAccess $27 Service
–SPSRequestSeed
SecurityAccess $27 Service
–SPSSendKey
OpCode - $27
Retry1
“ProgState”
“SetUp”
Step $02
Perform
Seed & Key
Retry3
Retry3
Step $05
Request the Operating
Software Part Number
Step $08
Prepare to Download
Operating Software
Retry3
Step $0B
Prepare to Download
1st Calibration
Retry3
Retry3
Retry3
Step $0C
Download the
1st Calibration
Step $0D
Prepare to Download
2nd Calibration
Step $0E
Download the
2nd Calibration
Retry2
Step $0F
Request the
Programmed State
PreSteps
The programming application tool
executes several GMLAN service
messages before the first Interpreter
instruction is executed. See the
GMLAN message flow diagrams in this
document or GMW 3110 for more
information.
ProgCal
CameraLoops.com
1993-2011 General Motors Company, GM Customer Care & Aftersales. All Rights Reserved.
Page
210
“Part 2”
“Success”
Step $1C
Exit Interpreter
with Success
Exit
“Error”
Step $1D
Exit Interpreter
with Error
Exit
Success
ReadDataByIdentifier$1A Service
DID $BO
Executed by the
programming application prior
to Part 2 of the Utility file
ReturnToNormalMode$20
Service
Pre-Step
Reset
Pre-Step
Get CAN IDs
WriteDataByidentifier$3B Service
OpCode - $3B
WriteDataByidentifier$3B Service
OpCode - $3B
WriteDataByidentifier$3B Service
OpCode - $3B
Pre-Step
Bus Wakeup
(Occurs Automatically by the
Programming Tool)
“Retry1”
Step $14
Initialize Retry
Counter& Decrement
Step $15
Retry Delay
for 1 Second
Error
Jump to“Start”
Jump to“SetUp”
“Retry3”
Step $18
Initialize Retry
Counter& Decrement
Step $19
Retry Delay
for 1 Second
Error
“Retry2”
Step $16
Initialize Retry
Counter& Decrement
Step $17
Retry Delay
for 1 Second
Error
Jump to“ProgState”
“Retry4”
Step $1A
Initialize Retry
Counter& Decrement
Step $1B
Retry Delay
for 1 Second
Error
Jump to“Part2”
Error
Retry4
Error
Retry4
Error
Retry4
Step $11
Write the
VIN
Step $12
Write the
Tester Serial Number
Step $13
Write the
Programming Date
CameraLoops.com
1993-2011 General Motors Company, GM Customer Care & Aftersales. All Rights Reserved.
Page
211
Step $01
– Set Target and Source Address
The Interpreter uses these values for the programming process. It needs to know the target address (the
Diagnostic address) of the ECU being programmed and the source address (the Diagnostic address) of the test
tool. This step will place the values into global memory locations for access as GMLAN messages are output and
received by the Interpreter.
Step
Op-
Code
Action Fields
Goto Fields
AC0
AC1
AC2
AC3
G0-G1
G2-G3
G4-G5
G6-G7
G8-G9
$01
$01
$11
$F1
$00
$00
00
$02
00
00
00
00
00
00
00
00
OpCode - $01 Setup Global Variables
This step sets up global variables that are used during the programming process. This is an internal
Interpreter command that does not output any messages on the GMLAN bus.
Action Fields
AC0
– Target Address
This is the target address (the Diagnostic address) of the ECU module the tester communicates with. This
value
MUST
be either the value returned in the response to the service $1A DID $B0 request, or the least
significant byte of the SPS_TYPE_C CAN ID as described in GMW 3110, Chapter 11.
AC1
– Source Address
This is the source address (the Diagnostic address) of the tester that is programming the ECU. This value is
not required for GMLAN implementations, but is placed for consistency with other protocols.
AC2
– Not Used
Set to $00.
AC3
Set to $00. Goto Fields
Goto Fields
G0-G1 (Return Code/Jump To Step Number)
Always a $00 on return. Go to the next step.
G2-G3, G4-G5, G6-G7, G8-G9
– Not used
CameraLoops.com
1993-2011 General Motors Company, GM Customer Care & Aftersales. All Rights Reserved.
Page
212
Step $02 “Start”– Perform Seed and Key
This step unlocks an ECU by performing the Diagnostic security services on the ECU.
Step
Op-
Code
Action Fields
Goto Fields
AC0
AC1
AC2
AC3
G0-G1
G2-G3
G4-G5
G6-G7
G8-G9
$02
$27
$68
$00
$00
$00
$67
$03
$FD
Retry1
$FF
Error
00
00
00
00
OpCode - $27 Security Access
This Interpreter command sends out two Diagnostic Commands to the ECU. The first command is Diagnostic
service $27 SecurityAccess with subfunction 1
– SPSrequestSeed. The ECU returns its seed value to the
tester. Next, Diagnostic service $27 SecurityAccess with subfunction 2
– SPSsendKey is sent to the ECU that
contains the key to unlock the ECU based on the Security Algorithm number that was previously assigned
(see assumptions).
Action Fields
AC0
Security Algorithm number previously assigned or known in the range of $00 - $FF.
AC1
Set to $00.
AC2
– Not used
Set to $00.
AC3
A $00 tells the Interpreter to disable sending the key if the seed returned by the ECU is 0, indicating that the
ECU is not currently protected.
Goto Fields
G0-G1 (Return Code/Jump To Step Number)
If a positive response $67 is received, then go to the next step.
G2-G3 (Return Code/Jump To Step Number)
If response $FD is returned, then a timeout has occurred. Go to “Retry1” step.
G4-G5 (Return Code/Jump To Step Number)
Wildcard $FF. If any other response is returned, terminate the sequence immediately by jumping to the
“Error” step
G6-G7, G8-G9
– Not used
CameraLoops.com
1993-2011 General Motors Company, GM Customer Care & Aftersales. All Rights Reserved.
Page
213
Do'stlaringiz bilan baham: |