This document describes a mechanism for handling embedded automotive software and data updates in an ECU in conformance with the standard UDS programming steps which are currently described in ISO 15765- 3:2004 and will be transferred into the next version of ISO 14229-1.
It is using hash functions to allow a tool to identify memory content without the need to actually read it, which could be time consuming; the ability to read back programmed data is not built in this specification: a tool can only decide if it has to change the content of the memory or to leave it unchanged. By separately writing the value of the hash function for the desired content and downloading the actual bytes, it gives the ECU the capacity to check if the full operation is successfully completed.
Any reason for the boot-loader to not start the applicative software is reflected in Diagnostic Trouble Codes (DTC). DTCs have a status with a ânon testedâ state, to represent the condition when a test result could have changed, but has still not been monitored.