8.5.1.2 Dashboard Device Group

The Device group contains the following information:

  • Project device name.
  • Any status flags generated during Run or Debug.
  • For older devices: Checksum value. You must build to see this. See section below.
  • For newer devices: CRC32 value. You must build to see this. See section below.

For older devices MPLAB X IDE Dashboard will calculate and show the Checksum and it might also show the CRC32. For newer devices the IDE will only calculate and show the CRC32; Checksum will show as 'NA'.

Checksum/CRC32 Calculation

Older Microchip devices used a checksum algorithm to calculate and display the Checksum in MPLAB X IDE Dashboard. With the program code protection disabled, the Checksum is computed by reading the contents of the program memory locations and adding up the program memory data, starting at address, 00 0000h, up to the maximum user-addressable location (e.g., 00 FFFFh for the PIC18F46Q10 device). Any Carry bits exceeding 16 bits are ignored. Additionally, the relevant bits of the Configuration Words are added to the Checksum. All unimplemented Configuration bits are masked to ‘0’.

Refer to the device's programming specification for more details on checksum calculation and checksum calculation when the "Code Protection" is enabled.

For newer devices the Microchip toolchain runs a 32-bit CRC calculation on the entire hex file to calculate its Checksum. The checksum uses the standard CRC-32 algorithm with the polynomial 0x4C11DB7 (x32 + x26+ x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1)

Refer to the device's programming specification for more details on the CRC32 calculation.

Advantages of using CRC32 calculation over Checksum is as follows:
  • CRC32 computation uses a pre-defined algorithm.
  • Checksum can only detect single-bit changes in data while CRC can check and detect double-digit errors.
  • CRC is more robust in terms of error detection.
  • Hexmate (hex manipulation tool) allows calculating the CRC for hex files.
  • CRC32 will be provided for new devices when importing a hex file into the IDE so you don't need to calculate it explicitly.

CRC32 Table Generation Reference:

www.sunshine2k.de/coding/javascript/crc/crc_js.html

Crosscheck the MPLAB X IDE CRC32 calculation using this website:

md5calc.com/hash/crc32