This functional unit has services through which a client can write or read new firmware from server’s memory. See the table for related services –
Service | Request ServiceID | Response ServiceID | Sub-Function |
---|---|---|---|
Request Download | 0x34 | 0x74 | No |
Request Upload | 0x35 | 0x75 | No |
Transfer Data | 0x36 | 0x76 | No |
Transfer exit | 0x37 | 0x77 | No |
Request download service is used to send the request for new software or other data downloads in ECU. The client may send the base address and firmware size with this request and server will acknowledge with allowed transfer packet size.
Request Download Message
Request upload service is the same as the Request download and it is used to send the request by the tester to read the downloaded firmware from ECU. The client must specify the address and firmware size with this request but this time the client must tell the server how long would be transferred packet size.
Frame format would be same as request download service except for serviceID.
Transfer Data service is used to transfer packets to server in allowed packet size(In request download). if the packet is transferred correctly then the server should send a positive acknowledgment, if not then a negative acknowledgment and this would continue until whole firmware size does not transfer correctly to the server.
Transfer Data Message
At this service client request to the server to perform transferred software integrity or to send a negative acknowledgment to stop data transfer request.
Transfer Exit Message
so that’s all a basic overview of this functional unit service ids. It will be more clear once you get a chance to implement these services as per OEM given specification because application data varies OEM to OEM and once you do practical then it would be more clear how things going on.