@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
https://www.electraytech.com/uds-diagnostics-iso-14229-guide/
can you use this flow to do an STM32F767 UDS bootloader update OTA project
Below is a diagram of the UDS OTA update process
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.
@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.
This is the standard UDS upgrade process, you should strictly follow this procedure.