Skip to Content
UDS Simulator 2.0 Released
Docs0x34 Request Download

Service Interaction Protocol

Request Download

0x34
Protocol Identifier
Initiates a data transfer sequence FROM the tester TO the ECU. Prepares the ECU to receive firmware, calibration data, or configuration payloads.
A Service Identifier (SID) is a single-byte value (0x00–0xFF) in position 0 of every UDS request frame. It specifies which diagnostic operation the client wishes the ECU to execute. The positive response echoes the SID with the high bit set (SID + 0x40).

FLOW_TYPE

INITIATION
First stage of the Download process. Negotiates buffer sizes for subsequent transfers.

ADDRESSING

DYNAMIC_ALFID
Address and size widths are variable, defined by the third byte of the request.

SESSION_LOCK

PROGRAMMING
Strictly restricted to Programming Session (0x02) and secured states.

Overview

ISO 14229-1

“The RequestDownload service is used by the client to initiate a data transfer from the client to the server.”

Download Initiation Sequence
Click to Enlarge

Negotiating memory parameters and block sizes for firmware transfer.

info _entry

The Three-Part Chain
Download is never a single operation. It follows a mandatory sequence:

0x34 Request0x36 Transfer0x37 Exit

Default Behavior

By default, the ECU is in a “Read-Only” operational state. Service 0x34 is typically disabled unless the ECU is in the Programming Session (0x02) and has been unlocked via Security Access (0x27). A successful request prepares the internal memory controller and sets the MaxBlockLength to inform the tester of the buffer limits for subsequent Transfer Data (0x36) calls.

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

Protocol Anatomy (32-bit Download)

◆ PROTOCOL ANATOMY

View
REQUEST_TX

0x34 REQUEST DOWNLOAD

RESPONSE_RX

0x34 RESPONSE

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 steps
Tester
ECU

Negative Response Codes

Error_Catalog

Negative Response Codes

THREAT_LEVEL2 HIGH3 MEDIUM5 NRCs TOTAL
ISO_14229_ANNEX_ANRC_ENGINE_V2