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.
Programming in Block Mode
Re: Programming in Block Mode
Hello,
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
Keneth