J-Link flash programming
There are different verification methods and levels of verification available for J-Link. In the following, the available configurations are explained
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
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.
- This is how the flash programming progress dialog looks for this mode:
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!
Configuring verification levels and methods
The verification levels can be enabled / disabled and the method of the L2-verify can be configured via the J-Link Control Panel
The following methods are available for L2-Verify: