Service Interaction Protocol
Request Transfer Exit
Overview
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
| Byte | Field | Value | Description |
|---|---|---|---|
| 0 | SID | 0x37 | Request Transfer Exit |
| 1-N | transferRequestParameterRecord | (Optional) | Additional parameters (e.g., checksum) |
Response Format
| Byte | Field | Value | Description |
|---|---|---|---|
| 0 | Response SID | 0x77 | Positive Response (SID + 0x40) |
| 1-N | transferResponseParameterRecord | (Optional) | Status info (e.g., checksum result) |
TX/RX Examples
Successful Transfer Exit
Request
37> End transfer
Response
77> Transfer complete
Exit with Checksum Parameter
Request
37 AB CD EF 12> Exit with checksum
Response
77 00> Checksum verified
No Active Transfer
Request
37> Without prior 0x34/0x35
Error Response
7F 37 24> Request sequence error
Verification Failed
Request
37> After incomplete transfer
Error Response
7F 37 72> General programming failure
UML Sequence Diagrams
Complete Download with Exit
Finalize Flash Programming
7 stepsWhat Happens on Exit
ECU Actions on Transfer Exit
- Validate Data: Verify checksum/CRC of transferred data
- Finalize Write: Complete any pending flash operations
- Update Metadata: Store programming date, version info
- Release State: Mark transfer as complete, allow new transfers
- Optional Signature: Verify cryptographic signature (secure boot)
Anticipated Behavior
Response Pending: Verification can take time. The ECU may send multiple NRC 0x78 responses while validating checksums and finalizing flash writes.
Always Exit: Even if aborting a transfer, send RequestTransferExit to release the ECU’s transfer state. Otherwise, new transfers will fail.
Post-Exit Reset: After successful download, an ECU Reset (0x11) is typically required to boot the new firmware.
Negative Response Codes (NRCs)
| NRC | Name | Description |
|---|---|---|
| 0x13 | Incorrect Message Length | Invalid optional parameter format |
| 0x24 | Request Sequence Error | No active transfer (missing 0x34/0x35) |
| 0x72 | General Programming Failure | Verification failed, data corrupted |
| 0x78 | Response Pending | Verification in progress (NOT an error) |