Diagnostic services & boot loader Controllers under control.
Diagnostic services: Remote access to the controller.
Every in-vehicle controller is required to feature a function that allows remote access. For this purpose, the Unified Diagnostic Services (UDS) was developed as an example, which is specified in ISO 14229. The UDS protocol defines how a so-called tester – that is, a computer equipped with a certain piece of software – connects to the controller in order to carry out specific diagnostic services on the controller.
The most important services are:
- reading out of incorrect memory entries
- updating the controller firmware
- adjusting parameters
- controller reset
- etc.
UDS provides a specified interface with access to the appropriate services for the testers. The UDS protocol does not contain specifications as to how the services should be implemented.

Boot loader: Software always up to date.
- The tester prompts the controller to switch to the “programming session”.
- The controller performs a reset, switches to the “programming session” and starts the boot loader.
- After the boot loader has started up, it returns the information to the tester that the switch to the “programming session” was successful.
- The data to be sent is validated.
- The tester sends the firmware data to the controller via individual UDS messages.
- The data is loaded into the flash memory (“flashing” of the controller).
- Once all of the data has been transferred, the controller performs another reset. After that, the controller is in “default session” again, that is, in normal operation with updated software.