Skip to content

Can you complete the Bootloader following the UDS OTA upgrade process below? #14

Description

@leoembeddeder

@jared52005

hello

Can you complete the Bootloader following the UDS OTA upgrade process below?

Below is the standard UDS OTA flashing process

ECU Flash Programming over UDS

ECU software flashing via UDS is the most security-sensitive and operationally critical diagnostic function. The standardised UDS programming sequence, used in production End-of-Line flashing, workshop reprogramming, and OTA update pipelines, follows this order:

Step 1: Switch to Programming Session (0x10, sub-function 0x02)
Step 2: Perform Security Access (0x27) to unlock programming functions
Step 3: Disable DTC recording (0x85) and communication control (0x28) to prevent interference
Step 4: Send RequestDownload (0x34) specifying memory address, size, and compression/encryption format
Step 5: Transfer firmware blocks using TransferData (0x36), each block verified by sequence counter
Step 6: Send RequestTransferExit (0x37) to terminate transfer and trigger integrity check
Step 7: Execute CheckMemory routine (0x31) to verify CRC or hash of written firmware
Step 8: ECU Reset (0x11) to boot into new firmware
Production-grade flash programming requires two additional mechanisms not in the original blog. First, A/B partition management: new firmware is written to an inactive memory partition while the ECU continues running on the current firmware; the partition switch occurs only after the integrity check passes, eliminating the risk of a bricked ECU mid-update. Second, anti-rollback protection: a firmware version counter stored in protected Non-Volatile Memory (NVM) prevents downgrade to older firmware versions with known vulnerabilities. Both are required by AIS-190 for OTA-capable ECUs.
Secure Boot Completes the Software Update Chain

While the Flash Bootloader ensures that firmware is transferred and programmed correctly, Secure Boot verifies the authenticity and integrity of the firmware every time the ECU powers up. Together, secure flashing and Secure Boot establish a complete chain of trust, ensuring that only authenticated and untampered software is executed throughout the ECU lifecycle. This architecture is increasingly expected for vehicles complying with AIS-189, AIS-190, ISO/SAE 21434, and UNECE R155.

ElectRay’s FBL Secure Flash Bootloader implements the full UDS programming sequence with A/B partition management, HSM-backed signature verification, anti-rollback counters, RAM-resident flash driver, and AIS-189/AIS-190-aligned security, deployed in production programs.

Hello, Charlie

Image

https://www.electraytech.com/uds-diagnostics-iso-14229-guide/

can you use this flow to do an STM32F767 UDS bootloader update OTA project

Image

Below is a diagram of the UDS OTA update process

Image Image

this is the UDS OTA update process pdf

UDS Update Flowchart.pdf

This is the standard UDS upgrade process, you should strictly follow this procedure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions