Programming in Block Mode

A free API for the communication with control units based on the Universal Measurement and Calibration Protocol (XCP) by ASAM for Windows®
Post Reply
kakki
Posts: 1
Joined: Mon 27. Dec 2021, 01:31

Programming in Block Mode

Post by kakki » Tue 28. Dec 2021, 04:00

Hello

We have tried 'Programming Sequence' with Block Mode, but there are some issues.

We would like to conduct a integrity check with the bootloader.
So,We are considering the following sequence.

1)GET_SEED:0xF8
2)UNLOCK:0xF7
3)PROGRAM_START:0xD2
4)SET_MTA:F6
5)PROGRAM_CLEAR:0xD1
6)SET_MTA:F6
7)PROGRAM:0xD0
8)PROGRAM_NEXT:0xCA
9)SET_MTA:F6
10)BUILD_CHECKSUM:0xF3
11)PROGRAM_RESET:0xCF

We found that sometimes 'BUILD_CHECKSUM' could not be confirmed.
(via Vector CAN Tool)
But 'SET_MTA'(just before:BUILD_CHECKSUM) could always monitor.

Since a Command right after 'ROGRAM_NEXT' can send successfully, the following sequence work correctly.

1)GET_SEED:0xF8
2)UNLOCK:0xF7
3)PROGRAM_START:0xD2
4)SET_MTA:F6
5)PROGRAM_CLEAR:0xD1
6)SET_MTA:F6
7)PROGRAM:0xD0
8)PROGRAM_NEXT:0xCA
9)PROGRAM_RESET:0xCF

When We could not send 'BUILD_CHECKSUM', following 'PROGRAM_RESET' also could not send.
Therefore ECU stuck in the bootloader.

We need your advice.

K.Wagner
Software Development
Software Development
Posts: 1080
Joined: Wed 22. Sep 2010, 13:36

Re: Programming in Block Mode

Post by K.Wagner » Mon 3. Jan 2022, 11:27

Hello,
kakki wrote:
Tue 28. Dec 2021, 04:00
We found that sometimes 'BUILD_CHECKSUM' could not be confirmed.
(via Vector CAN Tool)
You should get a positive or negative response after issuing a XCP command. Which error code are you receiving when calling the function XCP_BuildChecksum? Note that if you get the error XCP_ERR_INTERNAL_TIMEOUT means, that no answer was received from your ECU at all, or the answer was outside of the allowed timeout (t2 in case of BUILD_CHECKSUM).
Best regards,
Keneth

Post Reply