Skip to Content
UDS Simulator 2.0 Released

Docs baseline actions

Copy this page URLEdit page
Docs0x37 Request Transfer Exit

Service Interaction Protocol

Request Transfer Exit

0x37
Protocol Identifier
The RequestTransferExit service terminates a data transfer sequence initiated by RequestDownload (0x34) or RequestUpload (0x35), signalling the ECU to finalize the transfer and release the transfer state.
info _entry

The closer. 0x37 is the mandatory final step of every transfer: it finalizes the data and clears the ECU’s transfer state so a new 0x34/0x35 can begin. Forget it, and the next transfer fails with NRC 0x22.

0x37

RequestTransferExit

the closer

Transfer sequence

0x34/35Request Up/Download
0x36TransferData
0x37RequestTransferExit

Request

37
SID
(…)
transferRequestParameterRecord (optional)

Positive Response

77
Response SID
(…)
transferResponseParameterRecord (optional)
Service ID
0x37
Positive Response
0x77
Role
Finalizes an active transfer
Required session
PROGRAMMING (0x02) only
Security
Must be unlocked (0x27)
Precondition
A download/upload must be active (else NRC 0x24)
Parameter record
ISO-optional; ignored by this simulator
ISO ref
ISO 14229-1:2020 §14.5

Overview

ISO 14229-1

“The RequestTransferExit service is used by the client to terminate a data transfer between client and server.”

info _entry

On a real ECU, 0x37 also triggers verification (CRC/signature) and finalizes the flash write — and may answer NRC 0x78 (response pending) while it does so. This simulator keeps it minimal: it validates session, security, and an active transfer, then returns a bare 0x77 and clears the state.

Transfer Exit in Context

0x37 only makes sense as the end of a sequence. Step through closing a download and an upload, and the three ways the ECU rejects an exit.

Transfer Exit Runner

See 0x37 in context — closing a transfer, and the ways it gets rejected.

Goal

Finalize a flash download with 0x37, then reset to boot the new image.

SessionPROGRAMMING
Securityunlocked
OutcomeTransfer closed → 0x77
0 / 8

Press Play or Step to begin the sequence.

Transfer Lifecycle

Drive the transfer state machine yourself. Notice that 0x37 is the only service that takes an active transfer back to IDLE — and that 0x36/0x37 in IDLE return NRC 0x24.

Transfer Lifecycle

Drive the transfer state machine. 0x37 is the only thing that takes an active transfer back to IDLE. (Assumes PROGRAMMING session + unlocked.)

StateIDLEblock counter 0x00

Last Frame

Click a service to drive the transfer state machine.

Message Format

The request and response are minimal — an optional parameter record is allowed by ISO but ignored here.

Message Frame Breakdown

Pick a frame, then focus a byte (click or Tab) to see its role.

37SID

RequestTransferExit service identifier. This is the entire required request — the simulator does not need any parameter record.

Session & Security

Requirement
Value
If not met
SessionPROGRAMMING (0x02) onlyNRC 0x70 (checked first)
SecurityUnlocked, still validNRC 0x33
Active transferA 0x34/0x35 must be openNRC 0x24 (requestSequenceError)
warning _entry

Hold the session and unlock through the whole transfer. A session change or a security timeout clears the transfer state, so a later 0x37 returns 0x70/0x33/0x24. Send TesterPresent (3E 80) during long transfers.

Service Dependencies

Service Dependencies

0x37 closes what 0x34/0x35 opened. Select a node to see how it relates.

0x370x100x270x340x350x360x310x11
0x34RequestDownloadOpens transfer
Typical request
34 …

Opens a write transfer that 0x37 later closes.

Complete Transfer with Exit

Finalize a Flash Download

12 steps
Tester
ECU

Negative Response Codes

NRC Decoder — SID 0x37

This simulator emits only 0x70, 0x33, 0x24. The rest are ISO-defined for real ECUs. Click any card for details.

0x70
0x33
0x24

Order the simulator checks errors for 0x37 — session → security → active-transfer.

Troubleshooting Guide

Troubleshooting Guide

Click any issue to expand diagnosis and resolution.

What Happens on Exit

This simulator

  • Checks session, security, and that a transfer is active
  • Clears downloadInProgress / uploadInProgress
  • Resets the block counter and returns a bare 0x77

Real ECUs additionally

  • Verify a CRC/checksum or signature over the data
  • Finalize the flash write and update metadata
  • May answer NRC 0x78 (response pending) while verifying
  • Return NRC 0x72 if verification fails

Timing Parameters

Parameter
Typical Value
Context
P2 (Response)50 msBare 0x77 in this simulator
P2* (Enhanced)5000 msReal ECUs use this while verifying (NRC 0x78)
S3 (Session Timeout)5000 msHold with 3E 80 so the transfer state survives until 0x37
Last 0x36 → 0x372–5 s typicalReal-ECU window before the transfer is auto-aborted

ISO 14229-1 References

info _entry

Standard: ISO 14229-1:2020, Section 14.5 — RequestTransferExit. Related: §14.2 RequestDownload (0x34), §14.3 RequestUpload (0x35), §14.4 TransferData (0x36).

Key points

  • Request is 37 plus an optional transferRequestParameterRecord
  • Positive response is 77 plus an optional transferResponseParameterRecord
  • Must follow at least one TransferData (0x36) on an open 0x34/0x35 transfer
  • This simulator emits only NRC 0x70, 0x33, and 0x24