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). This service signals the ECU to finalize the transfer and perform any necessary verification or post-processing.

Overview

ISO 14229-1

RequestTransferExit is the final step in the download/upload sequence. When the ECU receives this request, it verifies the transferred data (checksum, signature), finalizes the write operation, and releases the transfer state so new transfers can begin.

Interactions with Other SIDs

Prerequisites & Dependencies

  • 0x34/35A download or upload must be in progress
  • 0x36All TransferData blocks should be sent first
  • 0x11ECU Reset often follows to apply new firmware
  • 0x31RoutineControl may verify the downloaded data

Message Format

Request Format

ByteFieldValueDescription
0SID0x37Request Transfer Exit
1-NtransferRequestParameterRecord(Optional)Additional parameters (e.g., checksum)

Response Format

ByteFieldValueDescription
0Response SID0x77Positive Response (SID + 0x40)
1-NtransferResponseParameterRecord(Optional)Status info (e.g., checksum result)

TX/RX Examples

Successful Transfer Exit

tx_packet

Request

37

> End transfer

rx_packet

Response

77

> Transfer complete

Data verified and finalized successfully

Exit with Checksum Parameter

tx_packet

Request

37 AB CD EF 12

> Exit with checksum

rx_packet

Response

77 00

> Checksum verified

ECU validated the provided checksum

No Active Transfer

tx_packet

Request

37

> Without prior 0x34/0x35

rx_packet

Error Response

7F 37 24

> Request sequence error

Error
No download or upload is in progress

Verification Failed

tx_packet

Request

37

> After incomplete transfer

rx_packet

Error Response

7F 37 72

> General programming failure

Error
Data verification failed - transfer incomplete or corrupted

UML Sequence Diagrams

Complete Download with Exit

Finalize Flash Programming

7 steps
Tester
ECU

What Happens on Exit

ECU Actions on Transfer Exit

  1. Validate Data: Verify checksum/CRC of transferred data
  2. Finalize Write: Complete any pending flash operations
  3. Update Metadata: Store programming date, version info
  4. Release State: Mark transfer as complete, allow new transfers
  5. Optional Signature: Verify cryptographic signature (secure boot)

Anticipated Behavior

info _entry

Response Pending: Verification can take time. The ECU may send multiple NRC 0x78 responses while validating checksums and finalizing flash writes.

warning _entry

Always Exit: Even if aborting a transfer, send RequestTransferExit to release the ECU’s transfer state. Otherwise, new transfers will fail.

tip _entry

Post-Exit Reset: After successful download, an ECU Reset (0x11) is typically required to boot the new firmware.

Negative Response Codes (NRCs)

NRCNameDescription
0x13Incorrect Message LengthInvalid optional parameter format
0x24Request Sequence ErrorNo active transfer (missing 0x34/0x35)
0x72General Programming FailureVerification failed, data corrupted
0x78Response PendingVerification in progress (NOT an error)