Service Interaction Protocol
Request Download
0x34Protocol Identifier
Initiates a data transfer sequence FROM the tester TO the ECU. Prepares the ECU to receive firmware, calibration data, or configuration payloads.
Overview
ISO 14229-1
“The RequestDownload service is used by the client to initiate a data transfer from the client to the server.”
info _entry
The Three-Part Chain
Download is never a single operation. It follows a mandatory sequence:
0x34 Request→0x36 Transfer→0x37 Exit
Dependencies
Prerequisites
- SID 0x10: Must be in Programming Session (0x02)
- SID 0x27: Level 2/4 Security Unlock required
- SID 0x31: Memory Erase RID (0xFF00) usually required
Download Parameters
- DFI: Data Format (Compression / Encryption)
- ALFID: Address & Length Format Identifier
- MaxBlock: Returned by ECU; sets TransferData limit
Message Format
Byte | Field | Description |
|---|---|---|
| 0 | SID | 0x34 |
| 1 | DFI | Data Format (Compr / Encr) |
| 2 | ALFID | Address & Length Format |
| 3-N | Memory Address | Target Flash/RAM address |
| N-M | Memory Size | Total bytes to transmit |
Response Content
Byte | Field | Description |
|---|---|---|
| 0 | Response SID | 0x74 |
| 1 | Length Format | Bit 7-4: Number of bytes in MaxBlockLength |
| 2-N | MaxBlockLength | Max payload allowed per 0x36 Transfer |
TX/RX Examples
Standard 4KB Download
Starting a download to address 0x00100000.
tx_packet
Request
34 00 44 00 10 00 00 00 00 10 00> ALFID 0x44 (4-byte Adr / 4-byte Size)
rx_packet
Response
74 20 02 00> Success. MaxBlockLength = 512 bytes (0x0200)
UML Sequence Diagrams
Flash Programming Sequence
10 stepsTester
ECU
Negative Response Codes
Logic_Exceptions
Critical_Error_Paths
NRC_0x70
Upload/Download Not Accepted
Service rejected because of session state (e.g. not in Programming mode).
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Upload/Download Not Accepted Flow
2 stepsTester
ECU
NRC_0x31
Request Out Of Range
Invalid address definition or memory segment size.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Request Out Of Range Flow
2 stepsTester
ECU