J-Link flash programming

From SEGGER Wiki
Revision as of 11:56, 19 May 2020 by Alex (talk | contribs)
Jump to: navigation, search

Verification methods

There are different verification methods and levels of verification available for J-Link. In the following, the available configurations are explained

L1-verify

The level-1 verification is performed by all SEGGER flash loaders by default. It is performed immediately after programming a chunk of data into flash. Verification is done by reading back the data from flash and compare it to the programming data

L2-verify

The level-2 verification is performed after all data has been programmed. It is performed over all data that has been programmed. The L2-verify can be configured to be performed via different methods which are explained in the following:

  • Read-back: The data is read back and compared against the data that was programmed
  • CRC: A CRC over the data in flash is calculated by the flash algo and this CRC is sent back to the PC software to compare it against the CRC of the data to be programmed. This way of verification is much faster than "read-back" because not all data from flash must be transmitted over the debug interface and USB / IP to the PC for comparison.

Note: L2-verify is disabled for download and debugging by default and only enabled for production grade programming (J-Flash / Flasher)

Note: CRC is much faster than reading back all data and gives a very good security to detect errors. It is the default for L2-verify if enabled.

Defaults for SEGGER flash loaders

J-Link download and debug

  • L1-Verify enabled
  • L2-Verify disabled. Not needed during debug and development.

J-Flash production programming

  • L1-Verify enabled
  • L2-Verify enabled

Note: This does not apply to open flash loaders as these do not perform a L1 verify!