Skip to main content
Visitor II
October 24, 2018
Question

ST-Link Utility Checksum changed

  • October 24, 2018
  • 1 reply
  • 2861 views

Hello,

recently i upgraded my ST-Link Utility from v3.8.0 to v4.2.0, within that change the value of the calculated checksum for the same Intel-HEX files changed. Below there are screenshots for the different ST-Link Utility versions respectively. In the change-log of ST-Link Utility i did not found information regarding a change in checksum calculation.

Please provide information about this changed behavior.

Thank you!

v4.2.0

0690X000006CFP9QAO.png

v3.8.00690X000006CFP4QAO.png

    This topic has been closed for replies.

    1 reply

    Graduate II
    October 24, 2018

    Improbable that it is zero, looks consistent with a sum of bytes.

    https://www.st.com/content/ccc/resource/technical/document/user_manual/e6/10/d8/80/d6/1d/4a/f2/CD00262073.pdf/files/CD00262073.pdf/jcr:content/translations/en.CD00262073.pdf

    "Memory checksum

    The checksum is calculated based on an arithmetic sum algorithm, byte per byte. The result is truncated to 32-bit word.

    The checksum value is displayed in the log window"

    ENindAuthor
    Visitor II
    October 24, 2018

    Thank you Clive,

    a checksum can be also zero. More precisely, the HEX-file is padded specially in order to produce a zero result using CRC32. However this does not work for ST-Link Utility v4.2.0.

    Graduate II
    October 24, 2018

    >>a checksum can be also zero

    Indeed, but that takes some effort. And is potentially unachievable with a 32-bit sum of bytes. That typically works better for 16-bit truncated values .

    Pretty sure ST isn't using CRC32, or their mutation/flavour of it.

    There are several intervening versions of the Utilities, and a newer version. The command line option provides a means to generate sums. I think 5 mins of testing could get you a clear understanding of what's being applied.