3.3.11.1. Flash-API¶
3.3.11.1.1. Introduction¶
Flashing via UDS generally follows the following sequence. OEMs might choose to call additional services or modify the sequence.
To allow the flashing functionality shown above, the SOVD-API from ISO 17978-3 needs to be extended with the functionality defined in this document.
The standard doesn’t define how the required services should be mapped in the Classic Diagnostic Adapter.
3.3.11.1.2. API¶
Motivation To flash an ECU, the CDA needs to have access to the files that should be flashed. This API allows listing the files that are available for flashing. Endpoints
|
Motivation To flash an ECU, the CDA needs to be able to transfer the flash data to the ECU. This API allows transferring the data in block-sized chunks, as required by UDS. Endpoints All paths are prefixed with
Request bodies Field names are matched case-insensitively.
|
Software Architecture: Flash service selection via functional class arch~sovd-api-flash-functional-class
|
Motivation Diagnostic descriptions can contain multiple RequestDownload (0x34), TransferData (0x36) and RequestTransferExit (0x37) services with the same short name, which are distinguished only by their ODX functional class (e.g. different memory areas or flash procedures). The client must be able to select which of these services is used. Service lookup The services for the endpoints
Error handling
Consistency The CDA does not keep the functional class between requests; each request is resolved on its own. It is
recommended that clients use the same Examples PUT /components/{ecu-name}/x-sovd2uds-download/requestdownload
{
"flashClass": "flash_download_upload_bootloader",
"requestDownload": { "<parameter>": "<value>" }
}
POST /components/{ecu-name}/x-sovd2uds-download/flashtransfer
{
"id": "<file-id>",
"offset": 0,
"length": 4096,
"blockSize": 1024,
"blockSequenceCounter": 1,
"flashClass": "flash_download_upload_bootloader"
}
PUT /components/{ecu-name}/x-sovd2uds-download/transferexit
{
"flashClass": "flash_download_upload_bootloader"
}
|
3.3.11.1.3. Configuration¶
Motivation The CDA needs to know where to find the files that should be flashed to the ECUs. This configuration allows setting the flash folder. Configuration Parameter The following configuration parameter must be available in the CDA configuration:
|
Software Architecture: Flash functional class configuration arch~sovd-api-flash-functional-class-configuration
|
Motivation Functional class names differ between diagnostic descriptions. The functional class used to resolve the flash
services when the client does not provide Configuration Parameter The following configuration parameter must be available in the CDA configuration, next to
flash_files_path = "/app/flash"
flash_functional_class_default = "flash_download_upload"
|